前段时间一直在学习数据结构,在看快排时会有点小困难,不知有没有小伙伴跟我一样笨呢!
不过幸好查看完在各大资料后理解了!
接下来讲下快速理解的方法,希望对初学懵懂者有用!
以下例子
[4、2、3、1、6、7、10、8]
1.最先开始要找一个为基准,这个基准是最后才放进去的,是先存储到一个指针里面,一般是找第一个数为基准,即4
[4、2、3、1、6、7、10、8] 4
2.可以在源码中看到,快速排序选完基准后是要让这个数的右边全部大于这个数,而左边全部小于这个数,这个算法的思想是提供了两个指针,规定刚开始一个指针指向头,一个指针指向尾,即指向4和8。
| (头指针) |(尾指针)
[4、2、5、1、6、7、10、8] 4
|(基准)
3.先从尾