91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中的七大排序_1 插入排序

發布時間:2020-05-30 07:35:54 來源:網絡 閱讀:436 作者:小西幾 欄目:編程語言

一:七種排序

插入排序、希爾排序、選擇排序、堆排序、冒泡排序、快速排序、歸并排序

二、排序思想(以非降序排列為例)

簡單點說:將待排元素分為有序區間和無序區間,并假設第一個元素已經有序。每次取出無序區間的第一個值記作key吧,將它與有序區間的元素從后往前進行比較,大于等于有序區間最后一個數,就放后邊當成新的有序區間的最后一個數;小于的話,就繼續往前比較,直到找到一個比它還小的有序區間的數,并把key插入到該值的后邊。
注意:我們在有序區間插入元素時,一定要提前空好位置在做插入操作,如果直接插入,會導致原來數據被覆蓋而丟失。所以要先將插入位置之后的有序區間的元素從后往前依次向后移動一下,(從后往前,還是為了避免數據被覆蓋)。這樣操作后,就會將插入位置空出,此時,在將key插入

三、圖示:以排18292415224為例

1.將元素分為有序區間和無序區間,并假設第一個元素已經有序
Java中的七大排序_1 插入排序
2.key從無序區間第一個開始有序的下一個),key=8大于等于有序區間最后一個數,就放后邊當成新的有序區間的最后一個數,接著進行下一步的key值比較定位
Java中的七大排序_1 插入排序

3.key=2,小于有序區間的最后一個數8,就繼續往前比較,直到找到一個比它還小的有序區間的數,在該數之后做插入
Java中的七大排序_1 插入排序
4.先將插入位置之后的有序區間的元素從后往前依次向后移動一下,騰出空位,插入key
Java中的七大排序_1 插入排序
5.key=9,key>=8,成為新有序區間的最后一個數
6.key=2, key<9, 向前遍歷比較,直到找到一個小于等于2的數,在該數之后做騰位、再插入key=2
Java中的七大排序_1 插入排序
Java中的七大排序_1 插入排序
9.依次類推,最終將所有元素按非降序排號
Java中的七大排序_1 插入排序

四、代碼實現

public static void insertSort2(int[] array) {//插入排序代碼
for (int i = 0; i < array.length - 1; i++) {//循環的次數,也監控著每一輪開始key的位置
int key = array[i + 1];
int j;
for (j = i; j >= 0 && key < array[j]; j--) {//一邊比較一邊為key的插入騰空位
array[j + 1] = array[j];
}
array[j + 1] = key;
}
}
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万荣县| 邛崃市| 大悟县| 高淳县| 延边| 海丰县| 广南县| 东乡族自治县| 黎城县| 张家川| 佛学| 四子王旗| 铜川市| 海阳市| 基隆市| 西林县| 通城县| 阿巴嘎旗| 剑阁县| 侯马市| 临沧市| 桐庐县| 开阳县| 天气| 三门县| 桂林市| 观塘区| 壶关县| 龙海市| 利津县| 政和县| 庆云县| 龙南县| 辰溪县| 怀化市| 泰和县| 杭州市| 喀什市| 苍溪县| 上犹县| 阿坝|