快速排序模板
void quick_sort(int p[],int l,int r){
if(l>=r) return;
int x=p[l],i=l-1,j=r+1; //取左边界-1,右边界+1 来满足进入while循环后的i++,j--
while(i<j){
do i++; while(p[i]<x);
do j--; while(p[j]>x);
if(i<j)swap(p[i],p[j]);
}
//第一种选i为分割 因为当退出while(i<
原创
2022-04-15 16:21:27 ·
231 阅读 ·
0 评论