快速排序模板

本文最后更新于:2 小时前

快速排序模板

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void quick_sort(int q[],int l,int r)
{
if (l >= r) return; //递归边界
int i = l - 1, j = r + 1, x = q[l]; //这里的初值分别设为l-1,r+1是因为
//while中是dowhile结构。先使i+1,j-1指向数组第一个和最后一个位置,再开始判断。
while (i < j)
{
do i++; while (q[i] < x);
do j--; while (q[j] > x);
if (i < j) swap(q[i], q[j]); //交换
}
quick_sort(q, l, j), quick_sort(q, j + 1, r); //递归左右子序列
}



快速排序模板
http://example.com/2022/09/25/快速排序模板/
作者
zzh
发布于
2022年9月25日
更新于
2023年4月24日
许可协议
原文链接: HTTPS://ZHANGZHIHAO-BLOG.GITHUB.IO
版权声明: 转载请注明出处!