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};
快速排序算法详解与实现
本文深入探讨了快速排序算法的原理与实现细节,通过具体代码实例展示了如何使用C语言实现快速排序,并提供了完整的代码段及使用示例,旨在帮助读者理解和掌握快速排序算法的应用。
18万+

被折叠的 条评论
为什么被折叠?



