中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

java數據結構之插入排序

發布時間:2020-09-24 20:19:41 來源:腳本之家 閱讀:172 作者:阿木俠 欄目:編程語言

插入排序就是把當前待排序的元素插入到一個已經排好序的列表里面。 一個非常形象的例子就是右手抓取一張撲克牌,并把它插入左手拿著的排好序的撲克里面。

         插入排序的最壞運行時間是O(n2), 所以并不是最優的排序算法。

         如果輸入數組已經是排好序的話,插入排序出現最佳情況,其運行時間是輸入規模的一個線性函數。

         如果輸入數組是逆序排列的,將出現最壞情況。平均情況與最壞情況一樣,其時間代價是Θ(n2)。

簡單例子:

public class Demo6 { 
   
  public static void main(String[] args) {  
    //定義一個整型數組  
    int[] nums = new int[]{4,3,-1,9,2,1,8,0,6};  
    //打印沒有進行排序的數組  
    System.out.println("沒有排序之前的結果:" + Arrays.toString(nums));  
    for(int index=0; index<nums.length; index++) {  
     //獲得需要插入的數值  
     int key = nums[index];  
     //取得下標值  
     int position = index;  
      /循環比較之前排序好的數據,找到合適的地方插入  
     while(position >0 && nums[position-1] > key) {  
      nums[position] = nums[position-1];  
      position--;  
     }  
     nums[position] = key;  
    }  
    //打印排序后的結果  
    System.out.println("排序后的結果:" + Arrays.toString(nums));  
   }  
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

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

AI

宜丰县| 长岭县| 龙江县| 鹰潭市| 台东市| 张北县| 禹城市| 东乌珠穆沁旗| 通海县| 长顺县| 万年县| 西青区| 西和县| 姜堰市| 安福县| 四川省| 琼结县| 元江| 淮南市| 鄄城县| 隆回县| 重庆市| 岳普湖县| 吴桥县| 广河县| 大姚县| 贺州市| 内乡县| 文水县| 舟曲县| 叙永县| 义乌市| 柯坪县| 偃师市| 斗六市| 唐河县| 博客| 南丰县| 波密县| 故城县| 中方县|