快速排序
void quicksort(int arr[], const int BEGIN, const int END) { if (BEGIN >= END) { return; } int i = BEGIN + 1; int j = END; while(i < j) { if (arr[i] > arr[BEGIN]) { swap(&arr[i], &arr[j]); j--; } else { i++; } } //cout << i << " " << j << endl; if (arr[i] >= arr[BEGIN]) { i--; } swap(&arr[i], &arr[BEGIN]); quicksort(arr, BEGIN, i); quicksort(arr, j, END); }
版权声明:
作者:朝雾之归乡
出处:http://www.cnblogs.com/cnpirate
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。