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快速排序的实现 [Qsort类] 使用C++模版,可实现自定义类型的排序方式 同时通过折半查找检索元素 附带控制台演示 欢迎指正和建议 程序详细描述可见:...
快速排序Python
快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare在1960年提出。它的基本思想是分治法(Divide and Conquer),将一个大问题分解为小问题来解决。快速排序的核心在于选取合适的“基准”元素,并根据这...
快速排序算法的基本思想是:通过一趟排序将待排序的数据分割成独立的两个部分,其中一部分的所有元素均比另一部分的元素小,然后分别对这两部分继续进行排序,重复上述步骤直到排序完成
资源名:quicksort_matlab_快速排序 资源类型:matlab项目全套源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者更换。 适合人群:新手及有一定经验的...
在这个例子中,函数`quickSort(int[] array, int start, int end)`用于执行快速排序。 快速排序的核心是选择一个基准元素并重新排列数组,使得基准元素左边的元素都小于基准,右边的元素都大于基准。这个过程称为...
在压缩包中的`QuickSort`文件可能包含了快速排序的完整实现,包括主函数和其他辅助函数,用于测试和展示快速排序的运作。通过阅读和理解这些代码,你可以更好地掌握快速排序的细节,并能够将其应用到自己的项目中。
快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare在1960年提出。它的基本思想是分治法,通过选取一个“基准”元素,将数组分为两个子数组,使得一个子数组的所有元素都小于或等于基准,另一个子数组的...
用c++写的快速排序 Swap交换两个int类型的数据 Sort排序 QuickSort快速排序(递归) main
快速排序伪代码(非随机) 下面的过程实现快速排序: 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),即把一个大问题分解成若干个小问题来解决,最终将小问题的结果合并得到原问题的解。在这...
快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare在1960年提出。它基于分治法的思想,将一个大问题分解成若干个小问题来解决,最终将小问题的结果合并,得到原问题的解。在这个场景中,我们主要关注的...
用非递归算法实现quicksort快速排序,高效
然后定义了quickSort函数来实现快速排序算法。在main函数中,我们定义了一个数组并对其进行快速排序,并打印排序后的结果。 快速排序是一种高效的排序算法,它的实现相对简单但性能优秀。希望这个示例能帮助你理解...
在提供的文件"QuickSort1"中,应该包含了具体的C++实现代码,通过阅读和理解这段代码,你可以更深入地了解快速排序的工作原理和C++编程技巧。注意查看其中的注释,这些注释可以帮助你理解每一步操作的目的和作用。...
快速排序(Quicksort)的Javascript实现 快速排序(Quicksort)是一种高效的排序算法,由图灵奖得主C. A. R. Hoare于1960年提出。该算法的思想很简单,整个排序过程只需要三步:(1)在数据集之中,选择一个元素...
快速排序源代码,采用C++编写,经测试未发现BUG,供大家参考
`myQuickSort.m`、`quickSort1.m`可能是两个不同的快速排序实现,可能使用了不同的编程语言或实现细节。一般而言,快速排序的实现会包含以下步骤: 1. 选取基准(Pivot)。 2. 分区操作:将数组分成两部分,一部分...
CUDA-quicksort 是一种基于 GPU 的快速排序算法实现。 CUDA-quicksort 旨在利用现代 NVIDIA GPU 的计算能力。 “文献中介绍了两种基于 GPU 的快速排序实现:GPU 快速排序,一种计算统一设备架构 (CUDA) 迭代实现,...