#include <iostream> #include <algorithm> using namespace std; void f(int a[],int x,int y){ if(x>=y){ return; } int t=(x+y)/2; int p=a[t]; swap(a[t],a[y]); int i=x,j=y-1; while(i<=j){ while(a[i]<p){ i++; } while(a[j]>=p){ j--; } if(i<=j) swap(a[i],a[j]); } swap(a[i],a[y]); f(a,x,i-1); f(a,i+1,y); } int main(){ int x,a[100000]; cin>>x; for(int i=0;i<x;i++){ cin>>a[i]; } f(a,0,x-1); for(int i=0;i<x;i++){ cout<<a[i]<<" "; } }
原文链接: https://www.cnblogs.com/theflight/p/13196161.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/359036
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!