我目前正在練習quicksort,它現在工作得很好。但我可以找到一個失敗的例子(因爲它似乎是一個特例,我還沒有讀過它,這就是爲什麼我做錯了......不能解決它)。問題是,我想是因爲我選擇最小的元素作爲主元:我的quicksort桌面測試似乎不正確
9 1 4 2 7 *0* (star mark means pivotelement)
現在我設定i,j
哪裏i
將通過陣列(右移),直到它發現它比主元以上的元素。並且j
將通過Array(向左移動)直到找到一個低於樞紐元素的元素。找到了,我們切換i
和j
顯示的元素。我們這樣做直到i
和j
交叉(又名「j
在i
」之前)。在這種情況下,我們切換元件i
節目並索引i
與主元......我現在不想描述整個算法也將是長期的問題..
9 1 4 2 7 *0*
i j but now we cannot find a j that is lower than Pivotelement. What we do?
I would continue by switching i with pivotelement:
*0* 1 4 2 7 9
j i But now is the Problem that i and j are in other positions
(j is before i). I have no idea.. Please clarify and help..