定義:交換排序的基本思想是,通過比較兩個記錄鍵值的大小,如果這兩個記錄鍵值的大小出現逆序,則交換這兩個記錄,這樣將鍵值較小的記錄向序列前部移動,鍵值較大的記錄向序列後部移動。假設陣列總長度是n,那麼總共需要重頭開始執行n-1次
過程:
用自己的話說:
1.先判斷一共執行多少次,假設陣列總長度是n,則一共執行n-1次,當前次數為第i次。
2.則執行n-1次迴圈,在每次迴圈中對0到 n-1-i 前一位置進行判斷
3.輸出排序好的序列
**:
private
int bubbling(int a) }}
return a;
}
時間複雜度同插入排序,最壞的情況o(n^2) 一頭紮進演算法導論 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等為分組標記,數字相同的表示在同一組,大...
一頭紮進演算法導論 插入排序
定義 直接插入排序是一種簡單的排序方法,她的基本思想是依次將每個記錄插入到乙個已排好序的有序表中去,從而得到乙個新的 記錄數增加1的有序表,就好比鬥地主抓牌排序的這麼乙個過程 過程 用自己的話說 用乙個索引key表示當前捉到的牌,如圖中紅框所示。用乙個索引i表示已經排序好的牌 從key牌左邊開始輪詢...
一頭紮進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...