1. 前言
2. 快排算法思想
快速排序的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分:分割点左边都是比它小的数,右边都是比它大的数。
然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
动态效果示意图:
**
void quickSort(vector<int> &arr, int left, int right) {if (left > right) {return;}int i = left, j = right, key = arr[left];while (i < j) {while (i < j && key <= arr[j]) {j--;}arr[i] = arr[j];while (i < j && key > arr[i]) {i++;}arr[j] = arr[i];}arr[i] = key;quickSort(arr, left, i - 1);quickSort(arr, i + 1, right);}
