数据结构(C语言)-快速排序
2019-07-17 本文已影响0人
Margolu
算法思想:以第一个数作为基准,和最右端下标为h的数比较大小,如果基数小于最右端的数,h向左移,再次比较,直到基数大于右端的数,将a[h]赋值给最左边的数a[l],然后最左边的数和基数比较,如果小于基数,l就向右移动。在此期间保证左端点始终小于右端点,最终使基数左边的数都比基数小,基数右边的数都比基数大。使用递归将左右区间逐渐缩小。
![](https://img.haomeiwen.com/i11235374/e3e1c96c7801bae7.png)
算法思想:以第一个数作为基准,和最右端下标为h的数比较大小,如果基数小于最右端的数,h向左移,再次比较,直到基数大于右端的数,将a[h]赋值给最左边的数a[l],然后最左边的数和基数比较,如果小于基数,l就向右移动。在此期间保证左端点始终小于右端点,最终使基数左边的数都比基数小,基数右边的数都比基数大。使用递归将左右区间逐渐缩小。