[请问] Quick sort 排序过程

楼主: APE36 (PT乡民)   2014-07-28 19:48:59
想请问一下Quick Sort排序过程,数值如下:
106,25,33,9,6,150,290,86,7,51,178,199
请问Pass1~Pass3分别是多少呢??
我看过原始码后还是不能理解他的交换步骤,
想请益有人知道的可以分享一下他的交换步骤吧
thanks!!
作者: taurus9258 (春虫虫牛)   2014-07-28 20:52:00
有看过wiki的解说了吗? http://ppt.cc/86a1Quick Sort有很多种版本 基本上抓个核心概念取一个pivot 经过某些交换 最后会让左边都小于pivot右边都大于pivot 然后再divide&conquer对左右两边重复有错请强者更正
作者: CodeWarrior (Code Warrior)   2014-07-28 21:11:00
没错XD
作者: bolue (I'm BT)   2014-07-28 23:00:00
可以到Youtube 搜寻看看 不少有趣的影片
作者: taurus9258 (春虫虫牛)   2014-07-28 23:59:00
我接触的第一版本是Hoare版 取最左边当pivot然后从两方向互找 左2(令为i)向右找比pivot大右一(另为j) 向左找比pivot小的值 找到后 两数互换重复这动作 直到i>=j 停止 最后pivot和j两数互换 结束这一轮完成后 pivot该数的位置就可以固定了以原PO的例子来说 左1的106就会变成左8 也就是第8小然后做 左边的25 33 9 6 86 7 51 完成后再做右边↑ 跑完第1轮的顺序不一定长这样 实际跑才知道

Links booklink

Contact Us: admin [ a t ] ucptt.com