直接插入排序

2018-07-27 21:02 更新
  1. 基本思想: 在要排序的一組數中,假設前面(n-1)[n>=2] 個數已經是排好順序的,現在要把第n個數插到前面的有序數中,使得這n個數也是排好順序的。如此反復循環(huán),直到全部排好順序
  2. 代碼實現(JAVA):

    /**
     * 打印數組內容
     * @param a
     */
    public static void saymsg(int[] src) {
        for (int i = 0; i < src.length; i++) {
            System.out.print(src[i]);
            System.out.print("  ");
        }
        System.out.println();
    }
    
    
    
    
    /**
     * 直接插入排序 
     */
    private static void insertSort(int[] src) {
        int temp = 0;
        for (int i = 1; i < src.length; i++) {
            int j = i - 1;
            temp = src[i];
            for (; j >= 0 && temp < src[j]; j--) {
                src[j + 1] = src[j];
            }
            src[j + 1] = temp;
            System.out.println("第"+i+"次排序:");
            saymsg(src);
        }
        saymsg(src);
    }
    
    
    
    
    
    
    
    
    public static void main(String[] args) {
        int[] src = { 49, 38, 65, 97, 76, 13, 27, 49, 78, 34, 12, 64, 5, 4, 62, 99, 98, 54, 56, 17, 18, 23, 34, 15, 35, 25, 53, 51 };
        System.out.println("原始數組排序:");
        saymsg(src);
        insertSort(src);
    }

圖片來自維基百科

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號