一頭紮進演算法導論 插入排序

2021-07-23 15:00:17 字數 1220 閱讀 3546

定義:直接插入排序是一種簡單的排序方法,她的基本思想是依次將每個記錄插入到乙個已排好序的有序表中去,從而得到乙個新的、記錄數增加1的有序表,就好比鬥地主抓牌排序的這麼乙個過程

過程:

用自己的話說

用乙個索引key表示當前捉到的牌,如圖中紅框所示。

用乙個索引i表示已經排序好的牌(從key牌左邊開始輪詢),如圖中黑框所示意。

從索引2開始捉牌,每次捉牌時進行三個步驟

**實現

public

int sort(int a)

a[i+1]=keyvalue;//插入當前數

}return a;

}

測試

public

static

void

main(string args);

a = new insertion().sort(a);

for(int i : a)

}

結果

—————-2016-10-16 用遞迴完成子串行排序——————–

* 2023年10月16日

*@param a

*@param value

*@param i

*/private

intsortchild(int a, int value, int i) else

}

一頭紮進演算法導論 氣泡排序

定義 交換排序的基本思想是,通過比較兩個記錄鍵值的大小,如果這兩個記錄鍵值的大小出現逆序,則交換這兩個記錄,這樣將鍵值較小的記錄向序列前部移動,鍵值較大的記錄向序列後部移動。假設陣列總長度是n,那麼總共需要重頭開始執行n 1次 過程 用自己的話說 1.先判斷一共執行多少次,假設陣列總長度是n,則一共...

一頭紮進演算法導論 shell排序

過程 原文出自白話shell 以n 10的乙個陣列49,38,65,97,26,13,27,49,55,4為例 第一次 gap 10 2 5 49 3865 9726 1327 495541 a1b2a2b 3a3b 4a4b 5a5b 1a,1b,2a,2b等為分組標記,數字相同的表示在同一組,大...

一頭紮進sql之多表操作

select a.ename,a.conn from emp a where a.conn select b.conn from emp b where b.ename allen select a.ename,a.conn from emp a where coalesce a.conn,0 se...