数据结构-快速排序
1. 快速排序的基本思想:
1.1 存在一个需要排序的无序序列A[54 38 96 23 15 72 60 45 83],将序列抽象为A[low—mid—high];
1.2 将序列中的第一个记录 54 作为一个基准,pivot = a[low],此时无序序列为
A[__ 38 96 23 15 72 60 45 83];
i j
1.3 用j
从序列的右边开始往左找,在没有遇到i
时,找到第一个比基准54小的值后停下来,找到了45;将45放在第一个空位置
A[45 38 96 23 15 72 60 __ 83]
i j
1.4 然后用i
从序列的左边开始往右找,在没有遇到j
时,找到第一个比基准54大的值后停下来,找到了96;将96放在空的位置
A[45 38 __ 23 15 72 60 96 83]
i j
1.5 继续从j
停止的位置从右向左走,在没有遇到i
时,找到第二个比基准54小的值后停下来,找到了15;将15放在空的位置上
A[45 38 15 23 __ 72 60 96 83]
i j