一.原理
快速排序是冒泡排序的改进,是最好的内排序。最坏的时间复杂度是n的平方,最好是log2n.它使用了递归和分治的思想。
二.问题
学习时,看了很多讲解,对其中的“哨兵交换”以及怎么确定哨兵的"位置"不是特别理解。换这种说话后理解了:
1.将基准值位置的值先"挖"出来,放在一边
2.右边符合条件的哨兵去填基准值的"坑"
3.左边符合的哨兵去填右边哨兵的"坑"
4.当哨兵回合时,用基准值位置的值去填最后一个"坑"。
5.循环上面的过程。
总的来说就是"先挖坑",然后"哪里有坑填哪里"
三.实现
以上为完整代码
原文:https://www.cnblogs.com/funimei/p/11482664.html