//sort快速排序法 #include<iostream> #include<algorithm> using namespace std; void Quick(int k[],int s,int t) { int i,j; if(s<t) { i=s;//0表示第一个位置 j=t+1;//j表示第n+1个位置 while(1) { do i++; while(!(k[s]<=k[i]||i==t)); do j--; while(!(k[s]>=k[j]||j==s)); if(i<j) swap(k[i],k[j]); else break; } swap(k[s],k[j]); Quick(k,s,j-1); Quick(k,j+1,t); } } void QuickSort(int k[],int n) { Quick(k,0,n); } int main() { int k[10],k1[10],i; for(i=0;i<10;i++) { scanf("%d",&k[i]); k1[i]=k[i]; } cout<<"编写algorithm算法排序:"<<endl; QuickSort(k,9); for(i=0;i<10;i++) printf("%d ",k[i]); printf("\n"); cout<<"直接调用algorithm函数库排序:"<<endl; sort(k1,k1+10); for(i=0;i<10;i++) printf("%d ",k[i]); printf("\n"); return 0; }