快速排序
//快速排序 //将第一个数据作为基准数,根据基准数将数据分为两部分,大的分在右边,小的分在左边 //找到基准数位置后,进行左递归和右递归重复上述操作 #include<iostream> using namespace std; int n[]={6,3,5,8,9,10,7,34,89,2}; void ks(int n[10],int i,int j){ if(i<j){ int l=i,r=j; int m=n[i]; while(l!=r){ while((n[r]>=m)&&(l!=r)){ r--; } while((n[l]<=m)&&(l!=r)){ l++; } if(l<r){ swap(n[l],n[r]); } } swap(n[i],n[l]); ks(n,i,l-1); ks(n,l+1,j); } } int main(){ ks(n,0,9); for(int i=0;i<10;i++){ cout<<n[i]<<" "; } return 0; }