直接插入排序(straight insertion sort)的作法是:
每次從無序表中取出第乙個元素,把它插入到有序表的合適位置,使有序表仍然有序。
具體步驟如下:
初始序列:
i=1 [46] 58 15 45 90 18 10 62
↓i=2 [46 58] 15 45 90 18 10 62
┌——┘
↓i=3 [15 46 58] 45 90 18 10 62
┌——┘
↓i=4 [15 45 46 58] 90 18 10 62
↓i=5 [15 45 46 58 90] 18 10 62
┌—————┘
↓i=6 [15 18 45 46 58 90] 10 62
┌————————┘
↓i=7 [10 15 18 45 46 58 90] 62
┌—┘↓
i=8 [10 15 18 45 46 58 62 90]
c語言**如下:
#include //列印陣列
void display(int array,int size)else
}//最後將該無序數列放入到有序數列中
array[j+1] = temp;
display(array,size);
}}int main(void);
display(array,10);
//直接插入排序函式
sort(array,10);
return 0;
}
插入排序之直接插入排序
插入排序概述 有乙個已經有序的資料序列,要求在這個已經排好的資料序列中插入乙個數,但要求插入後此資料序列仍然有序,這個時候就要用到一種新的排序方法 插入排序法,插入排序的基本操作就是將乙個資料插入到已經排好序的有序資料中,從而得到乙個新的 個數加一的有序資料,演算法適用於少量資料的排序,時間複雜度為...
插入排序之直接插入排序
依次將每個記錄 無序表 插入到乙個已排好序的有序表中,得到乙個新的,記錄增加1的有序表 向撲克牌中插入新牌,圖書館整理圖書 有n個數,將第乙個數看做乙個有序表,從第二個開始從後向前比較,第一趟比較前兩個數,然後把第二個數按大小插入到有序表中 第二趟把第三個資料與前兩個數從後向前掃瞄,把第三個數按大小...
插入排序之直接插入排序
packagesort.algorithm publicclassdirectinsertsort inttemp,j for int i 1 i data.length i data j 1 temp 輸出排序好的資料 for int k 0 k data.length k 直接插入排序,一般對於...