真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

一:七種排序

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

創(chuàng)新互聯(lián)成立10余年來,這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供成都網(wǎng)站建設、成都做網(wǎng)站、網(wǎng)站策劃、網(wǎng)頁設計、域名注冊、網(wǎng)絡營銷、VI設計、網(wǎng)站改版、漏洞修補等服務。網(wǎng)站是否美觀、功能強大、用戶體驗好、性價比高、打開快等等,這些對于網(wǎng)站建設都非常重要,創(chuàng)新互聯(lián)通過對建站技術(shù)性的掌握、對創(chuàng)意設計的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進步。

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

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

三、圖示:以排18292415224為例

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

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

四、代碼實現(xiàn)

public static void insertSort2(int[] array) {//插入排序代碼
for (int i = 0; i < array.length - 1; i++) {//循環(huán)的次數(shù),也監(jiān)控著每一輪開始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;
}
}

分享題目:Java中的七大排序_1插入排序
標題網(wǎng)址:http://weahome.cn/article/gphppi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部