#include <iostream>
using namespace std;
void quicksort(int *datapointer,int low,int high)
{
if(low>=high)
return;
int i = low;
int j = high;
int key = datapointer[low];
while(i<j)
{
while(datapointer[j]>=key&&i<j)
j--;
datapointer[i] = datapointer[j];
//cout<<"hello"<<endl;
while(datapointer[i]<=key&&i<j)
i++;
datapointer[j] = datapointer[i];
}
datapointer[i] = key;
quicksort(datapointer,low,i-1);
quicksort(datapointer,i+1,high);
}
int main()
{
int *datapointer,num;
cin>>num;
datapointer = new int[num+1];
for(int i = 1;i <= num; i++)
cin>>datapointer[i];
quicksort(datapointer,1,num);
for(i = 1;i <= num; i++)
cout<<datapointer[i]<<" ";
cout<<endl;
return 0;
}
原文:http://www.cnblogs.com/lxk2010012997/p/4357931.html