欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

插入排序java代碼和用時(shí)測試-創(chuàng)新互聯(lián)

一.java代碼部分

網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及定制網(wǎng)站建設(shè)服務(wù),專注于成都企業(yè)網(wǎng)站定制,高端網(wǎng)頁制作,對成都LED顯示屏等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計(jì),網(wǎng)站優(yōu)化推廣哪家好,專業(yè)seo優(yōu)化排名優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。
public static void Insert_Sort(int []array)
    {
        for (int i=1;i 0 &&temp< array[j - 1]; j--) {
                array[j] = array[j - 1];
            }
            array[j]=temp;
        }
    }

二.代碼分析部分?

i變量 存儲(chǔ)的是待排序部分第一個(gè)元素的下標(biāo)

temp 儲(chǔ)存的是數(shù)組下標(biāo)為i的值

j變量 存儲(chǔ)的是需要插入的數(shù)組下標(biāo)

插入排序中是將一個(gè)未排序的元素插入前面已經(jīng)排序的部分 也就是說在實(shí)際循環(huán)中下標(biāo)i之前的數(shù)組已經(jīng)是有順序的了 所需要的只是在前面的有序數(shù)組中找到 一個(gè)位置合適的位置插入 依舊使的數(shù)組有序 就可以了?

首先

外層循環(huán)變量i從1開始 數(shù)組后面的9個(gè)元素需要進(jìn)行插入操作 每次循環(huán)后已經(jīng)排序的部分長度加1
? for (int i=1;i

temp 變量儲(chǔ)存待排序部分第一個(gè)元素的值
? int temp=array[i];

默認(rèn)從小到大排序?

循環(huán)的判斷條件是如果temp小于下標(biāo)j-1處的值?這個(gè)主要能夠確定 temp在哪里執(zhí)行插入操作 循環(huán)直到temp大于等于下標(biāo)j-1的值 說明下標(biāo)為j的部分就是temp需要插入的地方?但是在數(shù)組中原本下標(biāo)為j的部分就已經(jīng)儲(chǔ)存了元素 這個(gè)就需要觀察這個(gè)循環(huán)體了

循環(huán)體?array[j] = array[j - 1]注意 在這次循環(huán)條件不滿足的時(shí)候這個(gè)j處表示是temp變量值插入的部分 但是這次循環(huán)的j處的值在j+1處已經(jīng)有一份了 這個(gè)主要因?yàn)檠h(huán)體在不滿足表達(dá)式的上一個(gè)循環(huán)中所做的操作??所以才可以直接將temp的值插入就去保證數(shù)據(jù)的完整性?

for ( j = i; j >0 &&temp< array[j - 1]; j--) {
    array[j] = array[j - 1];
}

最后部分就是在下標(biāo)為j的部分插入元素

array[j]=temp;
? }
? }

具體效果如下

三.最好最壞情況分析?

最壞情況就是 數(shù)組是逆序的 時(shí)間復(fù)雜度為O(^{n^{2}})?

最好情況就是 數(shù)組已經(jīng)是有序的了 那么內(nèi)層循環(huán)條件始終為假 相當(dāng)于沒有內(nèi)層循環(huán) 時(shí)間復(fù)雜度為O(n)

平均時(shí)間復(fù)雜度??O(^{n^{2}})

四.用時(shí)時(shí)間測試

排序耗時(shí)分析需要用到一個(gè)方法 該方法是System類的靜態(tài)方法 返回值是Long型的具體是

System.currentTimeMillis();返回值是從1970年1月1日到現(xiàn)在的毫秒值?

 ? long begin = System.currentTimeMillis();
? ? ? ? Sort.Insert_Sort(array);
? ? ? ? long end=System.currentTimeMillis();
? ? ? ? // 記錄 多少毫秒
? ? ? ? long ms=(end-begin);
? ? ? ? System.out.println("\n運(yùn)行時(shí)間排序"+max+"數(shù)字總共耗時(shí)"+ms+"毫秒");

時(shí)間測試

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

文章題目:插入排序java代碼和用時(shí)測試-創(chuàng)新互聯(lián)
文章路徑:http://www.chinadenli.net/article16/dgiidg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃電子商務(wù)標(biāo)簽優(yōu)化ChatGPT云服務(wù)器移動(dòng)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司