快速排序

来源:互联网 发布:最全的php扩展开发教程 编辑:程序博客网 时间:2024/06/11 20:29
#include <iostream>#include <exception>using namespace std;int func(int *array, int start, int end){if (array == NULL || start < 0|| end < 0 || start >= end)throw new exception();int low = start;int high = end;int key = array[low];int temp;while (low < high){while (array[high] >= key && low < high)high--;temp = array[high];array[high] = array[low];array[low] = temp;while (array[low] <= key && low < high)low++;temp = array[high];array[high] = array[low];array[low] = temp;}return low;}void sort(int *array, int start, int end){if (array == NULL || start < 0 || end < 0 || start >= end)return;int partition = func(array, start, end);sort(array, start, partition-1);sort(array, partition+1, end);}int main(){int array[10] = {0,9,8,7,6,5,4,3,2,1};sort(array, 0, 9);for (int i=0; i<10; i++)cout << array[i];cout << endl;}


0 0