`
love19820823
  • 浏览: 974072 次
文章分类
社区版块
存档分类
最新评论

quicksort 快速排序

 
阅读更多

int partition(int arr[],int left,int right)

{

int p, q, x, t;


x = arr[left];

p = left-1;

q = right+1;


while(p+1 != q) {

if(arr[p+1] <= x)

p++;

else if(arr[q-1] > x)

q--;

else {

t = arr[p+1];

arr[++p] = arr[q-1];

arr[--q] = t;

}

}


arr[left] = arr[p];

arr[p] = x;

return p;

}


void quicksort(int arr[], int left, int right)

{

int p;

if (left < right) {

p=partition(arr, left, right);

quicksort(arr, left, p-1);

quicksort(arr, p+1, right);

}

}


使用:

int aa[]={3,2,5,31,65,23,98,21,34,56,77,43,24,88};

quicksort(aa, 0, sizeof(aa)/sizeof(aa[0])-1);


分享到:
评论

相关推荐

    QuickSort快速排序的实现

    QuickSort快速排序的实现 [Qsort类] 使用C++模版,可实现自定义类型的排序方式 同时通过折半查找检索元素 附带控制台演示 欢迎指正和建议 程序详细描述可见:...

    quicksort 快速排序 Python

    快速排序Python

    quicksort快速排序

    快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare在1960年提出。它的基本思想是分治法(Divide and Conquer),将一个大问题分解为小问题来解决。快速排序的核心在于选取合适的“基准”元素,并根据这...

    C/C++ quickSort 快速排序 算法

    快速排序算法的基本思想是:通过一趟排序将待排序的数据分割成独立的两个部分,其中一部分的所有元素均比另一部分的元素小,然后分别对这两部分继续进行排序,重复上述步骤直到排序完成

    quicksort_matlab_快速排序

    资源名:quicksort_matlab_快速排序 资源类型:matlab项目全套源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者更换。 适合人群:新手及有一定经验的...

    图文讲解Java中实现quickSort快速排序算法的方法

    在这个例子中,函数`quickSort(int[] array, int start, int end)`用于执行快速排序。 快速排序的核心是选择一个基准元素并重新排列数组,使得基准元素左边的元素都小于基准,右边的元素都大于基准。这个过程称为...

    QuickSort_quicksort代码_快速排序_

    在压缩包中的`QuickSort`文件可能包含了快速排序的完整实现,包括主函数和其他辅助函数,用于测试和展示快速排序的运作。通过阅读和理解这些代码,你可以更好地掌握快速排序的细节,并能够将其应用到自己的项目中。

    QuickSort【快速排序C语言版本】

    快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare在1960年提出。它的基本思想是分治法,通过选取一个“基准”元素,将数组分为两个子数组,使得一个子数组的所有元素都小于或等于基准,另一个子数组的...

    c++快速排序示例

    用c++写的快速排序 Swap交换两个int类型的数据 Sort排序 QuickSort快速排序(递归) main

    快排quicksort

    快速排序伪代码(非随机)  下面的过程实现快速排序:  QUICKSORT(A,p,r)  1 if p  2 then q ←PARTITION(A,p,r)  3 QUICKSORT(A,p,q-1)  4 QUICKSORT(A,q+1,r)  为排序一个完整的数组A,最初的...

    简单的快速排序

    快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare在1960年提出。它的基本思想是分治法(Divide and Conquer),即把一个大问题分解成若干个小问题来解决,最终将小问题的结果合并得到原问题的解。在这...

    分治法快速排序算法QuickSort

    快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare在1960年提出。它基于分治法的思想,将一个大问题分解成若干个小问题来解决,最终将小问题的结果合并,得到原问题的解。在这个场景中,我们主要关注的...

    quicksort 非递归算法C++实现

    用非递归算法实现quicksort快速排序,高效

    C实现快速排序 quickSort

    然后定义了quickSort函数来实现快速排序算法。在main函数中,我们定义了一个数组并对其进行快速排序,并打印排序后的结果。 快速排序是一种高效的排序算法,它的实现相对简单但性能优秀。希望这个示例能帮助你理解...

    分治法快速排序算法QuickSort C++

    在提供的文件"QuickSort1"中,应该包含了具体的C++实现代码,通过阅读和理解这段代码,你可以更深入地了解快速排序的工作原理和C++编程技巧。注意查看其中的注释,这些注释可以帮助你理解每一步操作的目的和作用。...

    快速排序(Quicksort)的Javascript实现

    快速排序(Quicksort)的Javascript实现 快速排序(Quicksort)是一种高效的排序算法,由图灵奖得主C. A. R. Hoare于1960年提出。该算法的思想很简单,整个排序过程只需要三步:(1)在数据集之中,选择一个元素...

    快速排序源代码--QuickSort

    快速排序源代码,采用C++编写,经测试未发现BUG,供大家参考

    quicksort.zip_TSPLIB_快速排序_快速排序算法_蚁群 排序

    `myQuickSort.m`、`quickSort1.m`可能是两个不同的快速排序实现,可能使用了不同的编程语言或实现细节。一般而言,快速排序的实现会包含以下步骤: 1. 选取基准(Pivot)。 2. 分区操作:将数组分成两部分,一部分...

    CUDA-Quicksort:CUDA-Quicksort:快速排序算法的基于GPU的实现-开源

    CUDA-quicksort 是一种基于 GPU 的快速排序算法实现。 CUDA-quicksort 旨在利用现代 NVIDIA GPU 的计算能力。 “文献中介绍了两种基于 GPU 的快速排序实现:GPU 快速排序,一种计算统一设备架构 (CUDA) 迭代实现,...

Global site tag (gtag.js) - Google Analytics