作者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
1F:推 future1234:你确定 j 在这有跟 i 交错的机会 ? 06/10 10:09
2F:→ RJking:是要看程式码没错...老师说得不一定就是只有那一种 06/10 13:29
3F:→ RJking:就怕考试较你写出程式...搞懂演算法作法比较重要... 06/10 13:30
4F:→ RJking:最好多参考几本书,就怕老师的观念对但作法错 06/10 13:31