切分
在待排序的数组中,找到一个 标记元素可以是第一个(也可以简单的比较前几个元素的中间值,这样的取值在很多时候能够提高效率)
1:维护两个指针,第一个从左向右找到比他更大的值停止,第二个从右向左找到比他更小值停止(如果有找不到情况说明标记的元素是最大的一个,我们必须处理它)如果两个指针没有相遇,我们交换两个指针对应的元素,重复以上步骤,直到两个指针相遇,把标记元素插入重叠指针的左边。
2:这是在标记元素的左边的元素都是小于它的,右边都是大于它的,现在确定了第一个标记元素的位置,不在移动它,
3:左右两边重新定义一个标记元素,再冲重复以上步骤递归。直到数据有序。
转载请注明原文地址: https://ju.6miu.com/read-16440.html