直接插入排序是穩定排序(相同的值不會改變原來的順序)
直接插入排序的演算法思路:
(1) 設定監視哨r[0],將待插入紀錄的值賦值給r[0];
(2) 設定開始查詢的位置j;
(3) 在陣列中進行搜尋,搜尋中將第j個紀錄後移,直至r[0].key≥r[j].key為止;
(4) 將r[0]插入r[j+1]的位置上。
publicclass
insertsort ;
system.out.println("排序前:");
for(int i = 0; i < a.length; i++)
//從小到大直接插入排序
for(int i = 1; i < a.length; i++)
else
}a[j+1] =temp;
system.out.println();
system.out.println("第" + i + "次排序:");
排序演算法複習 直接插入排序
直接插入排序的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序在實現上,通常採用in place排序 即只需用到o 1 的額外空間的排序 因而在從後向前掃瞄過程中,需要反覆把已排序元素逐步向後挪位,為最新元素提供插入空間。具體演算法描述如下 1.從...
直接插入排序演算法
直接插入演算法 有乙個已經有序的資料序列,要求在這個已經排好的資料序列中插入乙個數,但要求插入後此資料序列仍然有序,這個時候就要用到一種新的排序方法 插入排序演算法,插入排序的基本操作就是將乙個資料插入到已經排好序的有序資料中,從而得到乙個新的 個數加一的有序資料,演算法適用於少量資料的排序,時間複...
直接插入排序演算法
撲克牌是我們幾乎每個人都可能從事過的遊戲。而最基本的撲克玩法都是一邊摸牌,一邊理牌。假如我們拿到了這樣一手牌,如圖9 5 1。啊,似乎是同花順呀,別急,我們得理一理順序才知道是否是真的同花順。請問,如果是你,應該如何理牌呢?應該說,哪怕你是第一次玩撲克牌,只要認識這些數字,理牌的方法都是不用教的。將...