java 實現插入排序

2021-09-10 23:51:20 字數 684 閱讀 7630

插入排序適合於部分有序序列和小規模的資料。其平均時間複雜度為 o(n^2),空間複雜度為 o(1),並且為穩定排序。

插入排序將待排序序列分為有序區 (記為 s 區)和無序區(記為 r 區)。以從小到大的順序為例,每次從 r 區彈出乙個元素 o,要將元素 o 插入到 s 區中恰當位置。從 s 區最右端開始,依次比較 s 區元素與元素 o 的大小。如果元素o 比 s 區元素小,就將 s 區元素後移一位。如果元素 o 大於 s 區元素,就在該元素右邊一位插入元素 o。

public

static

void

insertionsort

(int

x)else

} x[j +1]

= value;

}}

演示:

public

static

void

main

(string[

] args)

;insertionsort

(b);

for(

int value: b)

system.out.

printf

("%d "

, value)

;}

輸出:2 3 12 17 19 34 91

插入排序 Java實現

插入排序 insertsort 插入排序通過把序列中的值插入乙個已經排序好的序列中,直到該序列的結束。插入排序是對氣泡排序的改進。它比氣泡排序快2倍。一般不用在資料大於1000的場合下使用插入排序,或者重複排序超過200資料項的序列。1 思想 每次選擇乙個元素k插入到之前已排好序的部分a 1 i 中...

JAVA實現插入排序

一般來說,插入排序都採用in place在陣列上實現。具體演算法描述如下 從第乙個元素開始,該元素可以認為已經被排序 取出下乙個元素,在已經排序的元素序列中從後向前掃瞄 如果該元素 已排序 大於新元素,將該元素移到下一位置 重複步驟3,直到找到已排序的元素小於或者等於新元素的位置 將新元素插入到該位...

插入排序 Java實現

插入排序,顧名思義就是將乙個數插入到一組已經生成的有序陣列當中,使之成為一組新的有序陣列。那麼我們考慮存在一組陣列,首先將p1插入到陣列中,使之成為有序陣列 接著將p2插入到陣列中,使之成為有序陣列.最後將pn插入到陣列中,使之成為有序陣列,這個有序陣列也就是我們最後的結果。附上 和實驗結果 pub...