快排序的递归算法。 快排序号称平均最快的排序方法。 思想就是先找出一个支点,将所有小于它的元素放到它前面,大于它的元素放它后面,接下来前面的进行递归,后面的也进行递归。 这是我的理解。程序也不知道是不是最优的。仅供参考。 #include <iostream> using namespace std; void QuickSort(int arr[],int start,int end){ if(start>=end) return; int pivot=arr[(start+end)/2]; int i=start,j=end; int t; while(1){ while(arr[i]<pivot)i++; while(arr[j]>pivot)j--; if(i==j)break; t=arr[i]; arr[i]=arr[j]; arr[j]=t; } // for(j=0;j<10;j++){ // cout<<arr[j]<<" "; // } // cout<<endl<<"pivot="<<pivot<<endl; QuickSort(arr,start,i-1); QuickSort(arr,i+1,end); }