#include <iostream>
using namespace std;
void exchang(int *a,int *b){
int tmp=*a;
*a=*b;
*b=tmp;
}
int patition(int a[],int p,int r){
int x=a[r];
int i=p-1;
int tmp;
for(int j=p;j<=r-1;j++){
if(a[j]<=x){
i++;
exchang(&a[i],&a[j]);
}
}
exchang(&a[i+1],&a[r]);
return i+1;
}
void quicksort(int a[],int p,int r){
int q;
if(p<r)
{ q=patition(a,p,r);
quicksort(a,p,q-1);
quicksort(a,q+1,r);}
}
void main(){
int a[]={1,2,6,4,7,8,10,19,5,3};
quicksort(a,0,9);
for(int j=0;j<=9;j++) cout<<a[j]<<endl;
}
快速排序算法
最新推荐文章于 2013-12-18 11:54:34 发布