基礎演算法 插入排序

2022-04-02 13:43:16 字數 586 閱讀 2140

今天開始學習演算法,按自己能理解的方式寫了插入排序演算法以便後記.

package sortinsert;

public

class sortinsert ;

sort(sortdata);

system.out.println(sortdata);

}static

int i, j, tmp;

public

static

void sort(int data)

data[j + 1] = tmp;}}

}

1.假設前面的data[n-1]資料已經排好.到排序data[n]這個數時,先儲存data[n] 到臨時變數tmp用於後來插入到適當的位置.

2.當data[n-1]大於data[n]時,data[n-1]向後移動乙個單元.以更當data[n-2] 小於tmp (要排序的這個值)時,插入data[n-1]未移動前時的位置.

3.若data[n-2]仍大於tmp,  data[n-2]向後移動乙個單元,以更當data[n-3] 小於tmp (要排序的這個值)時,插入data[n-2]未移動前時的位置, 以此類推.

基礎演算法 插入排序

參考書籍 演算法導論 第二版 演算法基礎 插入排序演算法 演算法導論 第二版書中一來就提到了插入排序演算法,以撲克牌摸牌來作為比喻,剛開始按照偽 編寫時,容易忽略乙個問題,即用臨時變數來實現陣列中資料的交換問題。由於該演算法確實是演算法中最容易理解與掌 握的,所以不作過多解釋,以下是 include...

基礎演算法 插入排序

使用插入排序的演算法有直接插入排序和希爾排序。條件 序列a1 a2 an,分別取和為已排序列 從小到大的順序 和待排序列。第一步 取待排序列a2與已排序列中的a1比較 若a1 a2則a2新增到已排序列的末尾即已排序列為 若a1 a2則a2新增到已排序列的首位即已排序列為 那麼未排序列為。第二步 取待...

基礎排序演算法 插入排序

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