常見排序之 直接插入排序

2021-07-11 19:25:45 字數 791 閱讀 4710

定義:直接插入排序(straight insertion sort)的基本操作是將乙個記錄插入到已經排好序的有序表中,從而得到乙個新的、記錄數增1的有序表。

舉例:插入排序的工作原理與打牌時整理手中的牌的做法類似,開始摸牌時,我們的左手是空的,接著一次從桌上摸起一張牌,並將它插入到左手的正確位置。為了找到這張牌的正確位置,要將它與手中已有的牌從右到左進行比較,無論什麼時候手中的牌都是排序好的。

straightinsertionsort(int values)//跳出迴圈(找到要插入的中間位置或已遍歷到0下標)

// values[j+1]=key; //將當前值插入

// }

int i;//當前值位置

int j;//i前一位置

int key;//當前要進行插入排序的值

for ( i = 1; i < values.length; i++)

}system.out.println();

system.out.print("直接插入排序-->");

for (int k : values)

}

插入排序之直接插入排序

插入排序概述 有乙個已經有序的資料序列,要求在這個已經排好的資料序列中插入乙個數,但要求插入後此資料序列仍然有序,這個時候就要用到一種新的排序方法 插入排序法,插入排序的基本操作就是將乙個資料插入到已經排好序的有序資料中,從而得到乙個新的 個數加一的有序資料,演算法適用於少量資料的排序,時間複雜度為...

插入排序之直接插入排序

依次將每個記錄 無序表 插入到乙個已排好序的有序表中,得到乙個新的,記錄增加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 直接插入排序,一般對於...