请细看:
2 8 7 1 3 5 6 4
i-> <-j
(找大) (找小)
一、j
j找第一个小于2的元素1,1赋给(覆盖重置)i所指元素2
得到:
1 8 7 3 5 6 4
i j
二、i
i找到第一个大于2的元素8,8赋给(覆盖重置)j所指元素(NULL<-8)
1 7 8 3 5 6 4
i <-j
三、j
j继续左移,在与i碰头之前,没有找到比2小的元素,结束。
最后,主元2补上。
第一趟快排结束之后,数组变成:
1 2 7 8 3 5 6 4
第二趟,
7 8 3 5 6 4
i-> <-j
(找大) (找小)
一、j
j找到4,比主元7小,4赋给7所处位置
得到:
4 8 3 5 6
i-> j
二、i
i找比7大的第一个元素8,8覆盖j所指元素(NULL)
4 3 5 6 8
i j
4 6 3 5 8
i-> j
i与j碰头,结束。
第三趟:
4 6 3 5 7 8
......
以下,分析原理,一致,略过。
最后的结果,如下图所示:
1 2 3 4 5 6 7 8
相信,经过以上内容的具体分析,你一定明了了。
最后,贴一下我画的关于这个排序过程的图: