想請問的是開始移動後若i跟j同時停留在同一個數上該怎麼解決?
例如以下問題
給定 26,5,37,1,61,11,59,15,27,用QuickSort排列
第一次執行完會是
11,5,15,1,26,61,59,37,27
左半部沒問題
我想討論的是26的右半部 61,59,37,27
執行完後發現會有下面結果
61 , 59 , 37 , 27
ij (i,j都停在27上)
此時swap i跟j
61 , 59 , 37 , 27
ij
j繼續前進
61 , 59 , 37 , 27
j i
此時i、j交錯,swap j跟pivot
得 37,59,61,27
其實在上一步我就知道自己錯了,可是我不知道自己錯在哪裡
跟pivot置換的不是交錯後j所指的那個數嗎?翻書也看不出個所以然來
想請問板友們遇到這種情況要怎麼辦?
若有資訊不足的地方麻煩提醒,我會再補上
謝謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.24.226.36