0
所以我有這個數組{3,1,4,1,5,9,2,6,5,3,5}
Quicksorting整數數組實踐
我使用的是中位數的三個方法來獲取的支點。
所以在這種情況下,這裏的中位數在左,中,右之間:3,9,5。所以這是5
我做的第一件事是確保樞軸位於最左邊。 現在我保留左邊的數字小於5,並將數字移到數組的最右邊。最終結果是:{3,1,4,1,2,3|5|5,9,6,5}
現在快速排列左側和右側的子陣列。
{3,1,4,1,2,3}
有3位數並重新排列後,我得到{1,1,2,3,4}
{5,9,6,5}
有5位數,我得到{5,5,9,6}
如排序和相等數量更多的權利的結果。但是這個子陣不像第一個子陣列那樣排序。它只會在中位數爲6時起作用。那麼哪裏出錯了?謝謝。
只有當子陣列大小爲1時,纔會完成此操作。在任意數量的迭代之後,您不能停止。 –
所以你說你必須重新排列數字左邊的較小值和右邊的較大值,直到子數組的大小變爲1爲止。 – btrballin
是的,你需要遞歸排序子陣列。 –