快速排序
1 void quick_sort(int s[],int l,int r) 2 { 3 if (l<r) 4 { 5 int i=l,j=r,x=s[l]; 6 while (i<j) 7 { 8 while(i<j&&s[j]<x) // 从右向左找第一个小于x的数 9 j--; 10 if(i<j) 11 s[i++] = s[j]; 12 while(i<j&&s[i]>=x) // 从左向右找第一个大于等于x的数 13 i++; 14 if(i<j) 15 s[j--]=s[i]; 16 } 17 s[i] = x; 18 quick_sort(s, l, i - 1); // 递归调用 19 quick_sort(s, i + 1, r); 20 } 21 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步