递归快速排序
#include <iostream>
using namespace std;
void QuickSort(int low,int high,int* a)
{
int left,right,pivot;
left=low;
right=high;
pivot=a[left];
if(low < high)
{
while(left<right)
{
while(left<right && a[right]>=pivot)
right--;
a[left]=a[right];
while(left<right && a[left]<=pivot)
left++;
a[right]=a[left];
}
a[left]=pivot;
QuickSort(low,left-1,a);
QuickSort(left+1,high,a);
}
}
int main()
{
int a[]={98,34,12,-3,0,45,51,11};
int n=sizeof(a)/sizeof(a[0]);
QuickSort(0,n-1,a);
for(int i=0;i<n;++i)
cout<<a[i]<<'\t';
cout<<endl;
system("pause");
return 0;
}