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-06-03 21:16:38 发布