void quick_sort(int a[], int low, int high) {
int i = low, j = high;
int t = a[i];
if(low < high) {
while(i < j) {
while(t <= a[j] && i < j) {//从右往左搜寻第一个t>a[j],将a[j]赋值给a[i]
j--;
}
a[i] = a[j];
while(t >= a[i] && i < j) {
i++;
}
a[j] = a[i];
}
a[i] = t; //一次快排完后i==j;
quick_sort(a, low, i - 1);
quick_sort(a, i + 1, high);
}
}
快速排序模版
猜你喜欢
转载自blog.csdn.net/no_o_ac/article/details/81201275
今日推荐
周排行