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

一.java代碼部分

網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制網(wǎng)站建設(shè)服務(wù),專注于成都企業(yè)網(wǎng)站定制,高端網(wǎng)頁制作,對成都LED顯示屏等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計,網(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變量 存儲的是待排序部分第一個元素的下標(biāo)

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

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

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

首先

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

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

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

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

循環(huán)體?array[j] = array[j - 1]注意 在這次循環(huán)條件不滿足的時候這個j處表示是temp變量值插入的部分 但是這次循環(huán)的j處的值在j+1處已經(jīng)有一份了 這個主要因?yàn)檠h(huán)體在不滿足表達(dá)式的上一個循環(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ù)組是逆序的 時間復(fù)雜度為O(^{n^{2}})?

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

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

四.用時時間測試

排序耗時分析需要用到一個方法 該方法是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)行時間排序"+max+"數(shù)字總共耗時"+ms+"毫秒");

時間測試

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

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

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

廣告

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

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