void quick_sort(int a[],int low,int high) {
int i = low, j = high, tmp = a[low]; //tmp存储基准元素,相当于空出一个用于调动的动态位置
if (low < high) {
while (i != j) {
while (j > i && a[j] >= tmp)
j--;
a[i] = a[j]; //此时a[j]空出
while (j > i && a[i] <= tmp)
i++;
a[j] = a[i]; //a[i]空出
}
a[i] = tmp; //此时i=j,将基准元素放入此“中间”位置
quick_sort(a, low, i - 1);
quick_sort(a, i + 1, high);
}
}
【ACM】快排算法
最新推荐文章于 2025-12-04 12:52:18 发布
本文深入讲解了快速排序算法的实现原理及过程,通过一个具体的C语言实现案例,详细阐述了如何选择基准元素,并通过交换元素位置的方式进行分区,最终递归地对子数组进行排序,达到整体有序的效果。
3819

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



