插入排序是通過不斷插入待排序的元素完成整個排序過程。插入排序是一種很簡單的排序方式,基本思想就是將乙個元素插入到已經排序好的序列中,從而形成乙個新的有序序列。它重複地選擇未排序的元素,將其插入已經排序好的序列中,直到沒有待排序元素時,整個排序過程完成。
插入排序的工作方式就像大家打撲克牌時抓牌一樣。開始時,我們手上是沒有牌的,依次從桌面上面抓取撲克牌,然後插入自己手中已有撲克牌的位置中,只是插入的時候我們按照一定的順序將它插入到合適的位置中。
**示例:
public class insertsort ;
// 序列陣列
integer sortarr = new integer[arr.length];
// 選取第乙個數放入到序列陣列中,即摸第一張牌
sortarr[0] = arr[0];
// 待排序陣列次數,注意這裡不能arr.length-1,因為已經從陣列的第二個元素開始遍歷了
for (int i = 1; i < arr.length; i++)
// 插入元素
sortarr[index] = temp;
}system.out.println(arrays.tostring(sortarr));
}}
輸出示例:
[2, 5, 7, 9, 11, 12]
總結:
對於插入排序,主要是找到元素將要插入的位置,這個過程用抓牌來比擬非常的容易理解,插入排序就是把抓牌這一過程用程式寫出來而已。
排序演算法 2 插入排序
插入排序 insertion sort 的基本思想是 每次將乙個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子檔案中的適當位置,直到全部記錄插入完成為止。本節介紹兩種插入排序方法 直接插入排序和希爾排序。直接插入排序 直接插入排序基本思想 1 基本思想 假設待排序的記錄存放在陣列r 1.n 中...
排序演算法 2 插入排序
思路是 每次從未排好的序列中選出第乙個元素插入到已排好的序列中。步驟可以大致歸納如下 1.從未排好的序列中拿出首元素,並把它賦值給temp變數 2.從排好的序列中,依次與temp進行比較,如果元素比temp大,則將元素後移 實際上放置temp的元素位置已經空出 3.直到找到乙個元素比temp小,將t...
排序演算法2 插入排序
插入排序的中心思想就是將乙個元素插入到已經排好序的陣列當中。陣列a n 初始時,a 0 自成一格有序區,無序區為a 1 n 1 令i 1 將a i 併入當前有序區a 0 i 1 中形成有序區間 i 並重複第二步直到 i n 1 include include include myfunctions....