作者chemical1223 (康康康康康康)
看板TransCSI
標題Re: [問題] QuickSort的問題
時間Wed Jun 10 04:51:34 2009
: : 此時swap i跟j
: : 61 , 59 , 37 , 27
: : ij
: : j繼續前進
: : 61 , 59 , 37 , 27
: : j i
: 依照你做題方式,你的pivot應該是61了
: 61的話,最後i跟j會停在27,SWAP 61跟27,變27 59 37 61(61不加入下次排序)
: 然後pivot變27,i跟j停在59,但27比59小,所以不會SWAP,剩下59 37
: 最後pivot變59,.....(中略),SWAP 59跟37,之後判斷排序結束
: 其實要看程式寫法...參考這篇http://0rz.tw/a122P
: 裡面的C的寫法比較OK,不是判斷ij是否交錯,而是判斷i是否<j(因為會有i=j)
: 雖然也不很OK啦
: 總之如果有給定程式碼或虛擬碼就照著做比較好
所以是說要看程式怎麼寫嗎?
老師是教說"i,j交錯後再swap pivot跟j"
交錯後j不就是指向37嗎?
這裡還不太懂
麻煩各位了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.24.226.36
推 future1234:你確定 j 在這有跟 i 交錯的機會 ? 06/10 10:09
→ RJking:是要看程式碼沒錯...老師說得不一定就是只有那一種 06/10 13:29
→ RJking:就怕考試較你寫出程式...搞懂演算法作法比較重要... 06/10 13:30
→ RJking:最好多參考幾本書,就怕老師的觀念對但作法錯 06/10 13:31