定義:直接插入排序是一種簡單的排序方法,她的基本思想是依次將每個記錄插入到乙個已排好序的有序表中去,從而得到乙個新的、記錄數增加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...