void quicksort(int arr[],int l,int r) {
if (l >= r)
return;
int i = l, j = r, x = arr[i];
while (i < j && arr[j] >= x)
j--;
if(i<j)
arr[i++] = arr[j];
while (i < j &&arr[i] <= x)
i++;
if (i < j)
arr[j--] = arr[i];
quicksort(arr, l, i - 1);
quicksort(arr, i+1, r);
}
非稳定排序
本文介绍了一个非稳定的快速排序算法实现,通过递归的方式对数组进行排序。该算法选择数组的第一个元素作为基准值,并通过一趟排序将待排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据都要小。
18万+

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



