排序的穩定性

排序的穩定性意味著排序演算法是否保持結果輸出中原始輸入的等於鍵的相對順序。

因此,如果具有相等鍵的兩個物件在排序輸出中以與輸入未排序陣列中出現的順序相同的順序出現,則稱排序演算法是穩定的。

考慮一對配對列表:

(1, 2) (9, 7) (3, 4) (8, 6) (9, 3)

現在我們將使用每對的第一個元素對列表進行排序。

一個穩定的排序這份名單將輸出以下列表:

(1, 2) (3, 4) (8, 6) (9, 7) (9, 3)

因為 (9, 3) 也出現在原始列表中的 (9, 7) 之後。

一種不穩定的排序將輸出以下列表:

(1, 2) (3, 4) (8, 6) (9, 3) (9, 7)

不穩定排序可能會生成與穩定排序相同的輸出,但並非總是如此。

著名的穩定種類:

眾所周知的不穩定種類: