QuickSort()函数:
void QuickSort(int a[],int low,int hight)
{ if (low>=hight)return;
int first=low;
int last=hight;
int key=a[first];
while(first<last)
{ while(first<last&&a[last]>=key)--last;
a[first]=a[last];
while(first<last&&a[first]<=key)++first;
a[last]=a[first];
}
a[first]=key;
QuickSort(a,low,first-1);
QuickSort(a,first+1,hight);
}
测试代码:
#include <iostream>
using namespace std;
void QuickSort(int a[],int low,int hight);
int main()
{
const int N=10;
int a[N];
cout<<"please input "<<N<<" Numbers:"<<endl;
for(int i=1;i<=N;i++)
cin>>a[i-1];
QuickSort(a,0,9);
for(int i=1;i<=N;i++)
cout<<a[i-1]<<" ";
cout<<endl<<endl;
}
运行结果: