#include<iostream.h>
void qsort(int [],int,int);
void main() //quick sort 快速排序法
{
int array[]={3,32,332,4,2,34,23,4,2,423};
int len=sizeof(array)/sizeof(int);
for(int i=0;i<len;i++) //原始结果输出
cout<<array[i]<<",";
cout<<endl;
qsort(array,0,len-1);
for(int j=0;j<len;j++) //排序结果输出
cout<<array[j]<<",";
cout<<endl;
}
void qsort(int a[],int left,int right)
{
int pivot,l,r,temp;
l=left;
r=right;
pivot=a[(left+right)/2];
while(l<r)
{
while(a[l]<pivot) ++l;
while(a[r]>pivot) --r;
if(l>=r) break;
temp=a[l];
a[l]=a[r];
a[r]=temp;
if(l!=pivot) --r;
if(r!=pivot) ++l;
}
if(l==r) l++;
if(left<r) qsort(a,left,l-1);
if(l<right) qsort(a,r+1,right);
}