ps: 这里的说法不是那么严谨, 但是足够用来理解, 真正会得看代码部分
快速排序核心思想:
①初始化数组的左右边界i / j, 以数组第一个元素为基准值
②把给定数组分为两个数组处理{ {小于x的元素}, 基准值x, {大于x的元素} }
③递归执行第一二步
④直到数组大小为1(左边界>=右边界), 至此得到从小到大的排序结果
如果想要得到从大到小的排序结果, 把②步骤对换成: { {大于x的元素}, 基准值x, {小于x的元素} }
快速排序(从小到大)代码如下:
从大到小,只需更改这部分
main函数: