看板 Grad-ProbAsk 關於我們 聯絡資訊
quick sort的演算法問題 假設現在是sort A[l]--A[u] 它一開始把i設成l j設成u+1 pivot key設成A[l].key 然後就讓i++去找比A[l].key大的值 但是如果A[l].key就是最大值了 這個演算法不就沒辦法跑? 因為找不到比A[l].key還要大的值就卡在i的loop內 請問各位大大這應該怎麼做? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.125.162.59
abien:i加到u還是沒找到就會跳離loop啦 10/27 22:12
polomoss:如果A[1]是最大的話,右邊每個值都比他小,則A[1]的值 10/27 22:53
polomoss:會被換到最右邊,然後這回合就結束,左邊繼續recursive 10/27 22:54
polomoss:喔,懂你的問題,通常左右各會有個∞,所以會中址在最後 10/27 22:56
gsrr:最後面放一個 比所有數都大的值. 10/27 23:19
ray02825:感謝3位的解答 瞭解了 10/28 10:26