算法(第四版)插入排序

package suanfa;

import com.algs4.stdlib.StdOut;

/**
 * Created by evan on 16/11/1.
 * name 插入排序
 */
public class InsertSorting {

    public static void main(String[] args){
        Integer[] cpr = {121,3,1,22,44,12,5,6,23,664,22,34};
        sort(cpr);
        for (Integer value:cpr) {

            StdOut.println(value);
        }

    }

    public static void sort(Comparable[] cprList){
        int N = cprList.length;
        for (int i = 1;i < N;i++){
            for(int j = i;j>=1 && less(cprList[j],cprList[j-1]);j--){
                exch(cprList,j,j-1);
            }

        }
    }


    public static void exch(Comparable[] a,int b,int c){

        Comparable t = a[b];
        a[b] = a[c];
        a[c] = t;
        return;

    }

    public static Boolean less(Comparable a, Comparable b){

        return a.compareTo(b) < 0;

    }
}

在一個有序的數(shù)列中插入一個數(shù),將數(shù)從右到左對比知道走到合適的位置
永遠(yuǎn)維護(hù)一個有序的數(shù)組,每次“插入”一個新的數(shù)是都要整理數(shù)組保持?jǐn)?shù)組有序

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容