快速排序算法解析
快速排序算法:
基准数 : 一般情况作为序列的第一个数
基准数归位 :让基准数回到自己应该在的位置
1. 找到2个指针指向序列最后一个元素和基准数的下一个元素
2. 从后往前找比基准数小的数,找到停下来 ->后面的指针
3. 从前往后找比基准数大的数,找到停下来 ->前面的指针
4. 交换2个指针指向的元素之间的位置
5. 后面指针往前找,前面的指针再往后找 ->循环
6. 当前后2个指针相遇,则交换基准数和相遇所有位置的元素 -->基准数归为
前后2个序列继续做基准数归位 ->把一次序列的排序变为了 2次 4次 8次 … 第一次调用 :sort(arr,1,arr.length-1) --> 确定第一个基准数的索引位置->index
在方法内调用方法(递归): sort(arr,1,index-1); sort(arr,index+1,arr.length-1);
快速排序算法解析最先出现在Python成神之路。
共有 0 条评论