直接插入排序:
1、從未排序的第乙個元素開始,和前乙個已排好序的元素相比較,如果小於前乙個元素就交換位置,並繼續與前乙個元素比較,大於則跳出當前這一層的迴圈,這樣當前元素與原來已排好序的元素,組成乙個新的已經排好序的序列;(原陣列包含(0~i)已排好序的序列與(i~lenght-1)未排好序的序列),(第乙個元素可以看成是已排好序的序列,從第二個元素起算第乙個未排好序的序列首元素);
2、迴圈重複上述操作,直到陣列全都排好序;
**如下:
public class insertionsort {
private static int num = 0;//迴圈次數
public int sort(int forsort){
for(int i=1; i0;j--){
num++;
if(forsort[j]執行結果如下:
分次結果:[2, 5, 6, 8, 5, 4, 6, 9, 4, 9],num=1
分次結果:[2, 5, 6, 8, 5, 4, 6, 9, 4, 9],num=2
分次結果:[2, 5, 6, 8, 5, 4, 6, 9, 4, 9],num=3
分次結果:[2, 5, 5, 6, 8, 4, 6, 9, 4, 9],num=6
分次結果:[2, 4, 5, 5, 6, 8, 6, 9, 4, 9],num=11
分次結果:[2, 4, 5, 5, 6, 6, 8, 9, 4, 9],num=13
分次結果:[2, 4, 5, 5, 6, 6, 8, 9, 4, 9],num=14
分次結果:[2, 4, 4, 5, 5, 6, 6, 8, 9, 9],num=21
分次結果:[2, 4, 4, 5, 5, 6, 6, 8, 9, 9],num=22
最終結果:[2, 4, 4, 5, 5, 6, 6, 8, 9, 9],num=22
直接插入排序 學習筆記 詳解直接插入排序
直接插入排序 straight insertion sort 是一種簡單的排序方法,是一種插入類排序。其基本操作是將一條記錄插入到已排好的有序表中,從而得到乙個新的 記錄數量增1的有序表。將乙個記錄插入到已排好序的序列中,從而得到乙個新的有序序列 將序列的第乙個資料看成是乙個有序的子串行,然後從第二...
直接插入排序
直接插入排序是一種最簡單的排序方法,它的基本思想是依次將每個記錄插入到乙個有序中去。就是說,第i i 1 遍整理時,a1,a2,ai 1已經是排好序的子串行 取出第i個元素ai,在已排好序的子串行為ai找到乙個合適的位置,並將它插到該位置上。易知上述排序當i 1時實際上為空操作,故可直接從i 2開始...
直接插入排序
直接插入排序的演算法思想 直接插入排序 straight insertion sort 的基本操作是將乙個記錄插入到已經排好序的有序表中,從而得到乙個新的 記錄數增 1 的有序表。根據該思想,編寫 如下 從已有序列的第0個記錄開始比較 public static void insertsort1 i...