快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法,其基本思想为:任取待排序 元素序列中的某元素作为基准值,按照该排序码将待排序集合分割成两子序列,左子序列中所有 元素均小于基准值,右子序列中所有元素均大于基准值,然后最左右子序列重复该过程,直到所 有元素都排列在相应位置上为止。
代码:
void QuickSort(int* a, int left, int right)
{if (left >= right)return;int begin = left, end = right;int pivot = begin;int key = a[begin];while (begin < end){while (begin < end && a[end] >= key)--end;a[pivot] = a[end];pivot = end;while (begin < end && a[begin] <= key)++begin;}pivot = begin;a[pivot] = key;QuickSort(a, left, pivot - 1);QuickSort(a, pivot + 1, right);
}