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

溫馨提示×

溫馨提示×

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

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

如何在java項目中實現一個插入排序算法

發布時間:2020-12-01 17:21:50 來源:億速云 閱讀:153 作者:Leah 欄目:編程語言

如何在java項目中實現一個插入排序算法?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

一、基本概念

      插入排序的基本操作就是將一個數據插入到已經排好序的有序數據中,從而得到一個新的、個數加一的有序數據,算法適用于少量數據的排序,時間復雜度為O(n^2)。是穩定的排序方法。插入算法把要排序的數組分成兩部分:第一部分包含了這個數組的所有元素,但將最后一個元素除外(讓數組多一個空間才有插入的位置),而第二部分就只包含這一個元素(即待插入元素)。在第一部分排序完成后,再將這個最后元素插入到已排好序的第一部分中。

二、java代碼實現

public class InsertSort {
  public static void inserSort(int[] array){
    if (array==null||array.length<2){
      return;
    }

    for (int i=1;i<array.length;i++){ //默認第一個元素為有序隊列,從第二個元素開始循環插入
      int position=array[i];     //設置第二個元素為要插入的數據
      int j=i-1;
      while (j>=0&&position<array[j]){
        array[j+1]=array[j];   //如果插入發數小于第j個元素,將第j個數向后移
        j--;
      }
      array[j+1]=position;     //插入
    }
  }

  public static void main(String ags[]){
    int[] array={2,6,4,7,3,-1};
    inserSort(array);
    for (int i=0;i<array.length;i++){
      System.out.print(array[i]+" ");
    }
  }
}

三、性能分析

穩定
空間復雜度O(1)
時間復雜度O(n2)
最差情況:反序,需要移動n*(n-1)/2個元素
最好情況:正序,不需要移動元素

關于如何在java項目中實現一個插入排序算法問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

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

AI

新干县| 舒城县| 潼关县| 观塘区| 清河县| 开阳县| 德化县| 全椒县| 娱乐| 二连浩特市| 盈江县| 郁南县| 长汀县| 江达县| 岐山县| 宽甸| 贡山| 河东区| 普陀区| 景德镇市| 龙泉市| 双柏县| 宜君县| 日土县| 湖北省| 临高县| 临潭县| 蒙自县| 饶平县| 温州市| 凌源市| 高雄市| 那曲县| 武义县| 喀什市| 达州市| 马鞍山市| 吴堡县| 清河县| 梅河口市| 德阳市|