【數據結構】第8章 排序 12,2,16,30,28,10,16*,20,6,18

【直接插入排序、希爾排序、冒泡排序、快速排序、簡單選擇排序、樹形選擇排序、堆排序、歸併排序、基數排序】
不理解的地方看這個動畫


設待排序的關鍵字序列爲{12,2,16,30,28,10,16*,20,6,18},試分別寫出使用1~9排序方法,每趟排序結束後關鍵字序列的狀態。

1、直接插入排序(插入)*

把每一個數依次插入一個新數組
在這裏插入圖片描述

2、折半插入排序(插入)

同直接插入排序
在這裏插入圖片描述

3、希爾排序(插入)*

增量遞減選取,直到最後一個爲1
在這裏插入圖片描述

4、冒泡排序(交換)*

若前面的比後面的數大,交換每相鄰的兩個
在這裏插入圖片描述

5、快速排序(交換)*

看圖:
在這裏插入圖片描述
在這裏插入圖片描述

6、簡單選擇排序(選擇)*

每次挑最小的放到前面
在這裏插入圖片描述

7、樹形選擇排序(選擇)

同簡單選擇排序
在這裏插入圖片描述

嚶嚶嚶10個的不知道怎麼畫。。。8個是這樣:
在這裏插入圖片描述

8、堆排序(選擇)

同簡單選擇排序
在這裏插入圖片描述
嚶也是並不知道怎麼畫。。

9、歸併排序*

每次兩塊兩塊的合併
在這裏插入圖片描述

9、基數排序*

3位數比較好演示,換個例子:
在這裏插入圖片描述在這裏插入圖片描述