#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