排序 直接插入法

2021-10-12 12:24:42 字數 497 閱讀 1184

假設陣列a=

1.從陣列開始位置出發,把a1視為只有乙個資料的有序陣列

2.從a2開始遍歷這個陣列,拿每乙個資料和前面的資料比較,如果前面的資料比這個資料大,那麼把前面的資料往後推乙個位置並記錄其下標,直到前面的資料比這個數小,那麼上乙個比這個數大的數的位置就是要插入的位置,從a2到an依次插入之後就實現了將陣列正序排列,倒序正好相反。

**:

//直接插入排序法

public

class

insertionsort

else

}// 內層迴圈結束後,把當前要操作的值right,插入到指定位置insert

// 如果insert和當前i值相等,說明當前操作的這個值right是不需要移動

// 的。

if(insert != i)

}return arr;

}}

DataStructure 直接插入法過程

加入一組測試資料 有點ugly的對齊 序號i0 1 2 3 4 5 6 7 8 9 10 初始為 哨兵 75 88 68 92 88 62 77 96 80 75 開始哨兵為空,即什麼東西都沒有 演算法 塊 void straghtinsertionsort sqlist s s r j 1 s r...

Java陣列排序 Java直接插入法

直接插入排序的基本思想是 將 n 個有序數存放在陣列 a 中,要插入的數為 x,首先確定 x 插在陣列中的位置 p,然後將 p 之後的元素都向後移乙個位置,空出 a p 將 x 放入 a p 樣可實現插入 x 後仍然有序。例 1本例子通過直接插入的方法對上述例子中的 number 陣列進行排序。建立...

直接插入法排序(c 單鏈表的實現)

具體排序過程是 1 將整個記錄序列劃分為有序區和無序區,初始時有序區為待排序記錄中第乙個記錄,無序區包括所有剩餘待排序的記錄。2 將無序區的第乙個記錄插入到有序區的合適位置中,從而使無序區減少乙個記錄,有序區增加乙個記錄。3 不斷重複2,直到無序區只剩下乙個記錄為止。include using na...