【Java SE】如何用Java實現插入排序

摘要:前面三期分別寫了三篇簡單排序的算法,今天來說一點稍微難一點的排序算法-----插入排序。算法

  1. 基本思想:

    1. 設n個數據已經按照順序排列好(假定從小排到大)。
    2. 輸入一個數據x,將其放在恰當的位置,使其順序依舊從小到大。
    3. 輸出已經排序完的數據。
  2.  適宜人羣:

    1.   有必定Java SE基礎,明白Java的數據類型,數組的定義、初始化以及經常使用數組的方法,還有Java的循環操做。
  3.  前期準備:

    1.   最好有一個開發工具好比說:eclipse或者myeclipse均可以,固然你使用DOS系統進行編譯運行均可以,只不過改bug會麻煩一點。  
  4. 插入排序的應用範圍:

    1.   適合已經排序好的數據中插入一個或多個數據。
  5.  算法的優缺點:

    1. 優勢:穩定,快;
    2. 缺點:比較次數不必定,比較次數越少,插入點後的數據移動越多,特別是當數據總量龐大的時候,但用鏈表能夠解決 這個問題。
  6. 算法實現:

    package liuenci.cn.package_3; public class HomeWork { public static void main(String[] args) { int a[] = { 38,65,97,76,13,27,49 }; insertSort(a); for(int i:a){ System.out.print(i +" "); } } public static void insertSort(int[] a) { int i, j, insertNote; for (i = 1; i < a.length; i++) { insertNote = a[i]; j = i - 1; while (j >= 0 && insertNote < a[j]) { a[j + 1] = a[j]; j--; } a[j + 1] = insertNote; } } } 
相關文章
相關標籤/搜索