QuickSort
int Partition(vector<int> &input, int start, int end) { int index=start; for(int i=start+1; i<=end; i++) { if(input[i]<input[start]) { ++index; if(i!=index) { swap(input[i], input[index]); } } } swap(input[start], input[index]); return index; } void QuickSort(vector<int> &input, int start, int end) { if(start>=end) return; int index=Partition(input, start, end); if(index>start) { QuickSort(input, start, index-1); } if(index<end) { QuickSort(input, index+1, end); } }
posted on 2017-09-18 16:03 www_practice 阅读(111) 评论(0) 编辑 收藏 举报