您現在的位置是:首頁 » scratch編程資訊
資訊內容
插入排序法【Scratch版】
極客小將2020-11-13-
插入排序法是取出未排序的第一個值(帶處理值)與已排列的值比較,插入已排序數據的適當位置。排序過程可參考下表,以[10,3,12,20,6]數列為例,從小到大排列,數列字段[?]內為已排列的數列。
插入排序法是取出未排序的第一個值(帶處理值)與已排列的值比較,插入已排序數據的適當位置。排序過程可參考下表,以[10,3,12,20,6]數列為例,從小到大排列,數列字段[?]內為已排列的數列。
|
數列 |
待處理值 |
比較與插入 |
排序結果 |
開始 |
10,3,12,20,6 |
|
|
10,3,12,20,6 |
步驟1 |
[10],3,12,20,6 | 3 |
3<10,3插入第一個位置 |
3,10,12,20,6 |
步驟2 |
[3,10],12,20,6 |
12 |
12>10,不變 |
3,10,12,20,6 |
步驟3 |
[3,10,12],20,6 |
20 |
20>12,不變 |
3,10,12,20,6 |
步驟4 |
[3,10,12,20],6 |
6 |
6<20,繼續往前比較 6<12,繼續往前比較 6<10,繼續往前比較 6>3,插入第二個位置 |
3,6,10,12,20 |
?范例
隨機產生5個數值放入名為【數列】的列表,在通過插入排序法將列表內的值從小到大排序,范例程序中定義了兩個變量,變量【已排序End】用來記錄已排序的最后一個值的項次,變量【處理中】記錄待排序的第一個值的項次。
程序積木如下:
聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除
