快速排序的算法思想:
详细参考:http://www.2cto.com/kf/201104/87601.html
待排序数组:黄色底色表示pivot。

2.从后向前移动high,找到第一个小于tmp的数,则将该数移动到low的位置。

3.从前向后移动low,找到第一个大于tmp(4)的数,将其移动到high的位置。

4.然后再向前移动high,试图找到第一个小于tmp(4)的数,但没有找到,此时low与high重叠,将tmp的值放入low的位置,并将low作为pivot返回。

根据新的pivot进行递归调用,将原待排序数组 分解为两块,index区间分别为0~2,4~7,即以下两个子数组
(并未新建数组,只是只关注这个区间的数据,对其进行排序,也就是将问题分解为两个小的子问题,但问题很类似。)

6941

被折叠的 条评论
为什么被折叠?



