登 录
#include<iostream> using namespace std; inline void swap(int &x,int &y){ int tmp = x; x=y; y=tmp; } int partition(int *a,int p,int r){ int x=a[r-1]; int i=p-1; for(int j=p;j<r-1;++j){ if(a[j]<=x) { ++i; swap(a[i],a[j]); } } swap(a[++i],a[r-1]); return i; } void quicksort(int *a,int p,int r){ int q=0; if(p<r){ q=partition(a,p,r); quicksort(a,p,q-1); quicksort(a,p+1,r); } } int main(){ int a[]={11,2,789,0,282,22,78,29}; int size=sizeof(a)/sizeof(*a); cout<<"排序前:"; for(int i=0;i<size;++i){ cout<<a[i]<<" "; } cout<<endl; quicksort(a,0,size); cout<<"排序后: "; for(int i=0;i<size;++i){ cout<<a[i]<<" "; } cout<<endl; system("pause"); }
抱歉!评论已关闭.