排序算法的穩定性定義:
一個數組中幾個相同的關鍵字經過排序以后相對位置仍然不變,那么稱改排序算法的是穩定的。
舉個例子,在一個數組中,紫色的10排在紅色的10前面,經過排序算法之后,紫色的10位置仍然排序紅色的10之前,那么這個算法就是穩定的。
下面是幾種排序算法的總結:
1.冒泡排序:
穩定
2.選擇排序:
2.1.若為交換數值式的排序算法,則為不穩定
2.2.若為插入式的排序算法(多應用於鏈表當中),則穩定
3.插入排序:
穩定
4.快速排序:
不穩定
5.希爾排序:
不穩定
6.歸並排序:
穩定
7.堆排序:
不穩定
8.基數排序:
穩定