/*快速排序*/ #include<iostream> #include<stdlib.h> #include<algorithm> using namespace std; const int Max=1e4+5; int array[Max]; int Findout(int l,int r){ int x=array[l];//桩 while(l<r){ while(array[r]>=x&&l<r) r--; swap(array[r],array[l]);//寻小 while(array[l]<=x&&l<r) l++; swap(array[l],array[r]);//寻大 } return l; } void quickSort(int l,int r){ if(l<r){ int pivotloc=Findout(l,r); quickSort(l,pivotloc-1);//左边 quickSort(pivotloc+1,r);//右边 } return ; } int main(){ int i,n; cout<<"请输入数组大小:"; cin>>n; for(i=0;i<n;i++) cin>>array[i];//输入数据 quickSort(0,n-1);//注意是n-1 for(i=0;i<n;i++) cout<<array[i]<<" ";//输出数据 return 0; }