一个问题半天,快速排序没有回答上来

  • 答:在“我的提问”里有的

  • 答:像我这样啊,我现在就是在回答你的问题啊. 1.进入一个问题 2.在最下面有一个 "我来回答",写入你的答案就可以了. 3.按提交回答就可以了 ??乱坏愕幕卮穑?...

分区是快排中一个非常重要的环節快排将从数组中间位置作为分界线,将整个数组分成两个分区前一个分区中每个元素的值小于原来数组中间位置上的值,后一个分區中每个元素的值大于原数组中间位置上的值(需要注意的是我们这里所说的中间位置仅仅是数组下标为中间位置所对应的数组的值)。

现在以标记元素为界然后将其他的元素与这个标记值比较,比它大就放在后面的分区比它小就放在前面的分区。

你可以看到即便我們分了区但是每个分区内部相较于原来的数组各个元素之间的相对位置是没有改变的。


通过分区之后我们就得到了下面两个分区:

很惊訝的发现竟然全局都已经有序了其实不必惊讶应为这是必然的现象,因为我们要使整个数组有序那必然比中间值小的元素再中间位置前媔的分区比中间值大的再数组有序后必然会在中间值的后面的分区,如果不是必然是不成立的

我要回帖

更多关于 快速排序没有回答上来 的文章

 

随机推荐