插入排序 Insertion-Sort

插入排序

相關代碼

class Sort3{
    /** 插入排序 Insertion-Sort
     * 它的工作原理是通過構建有序序列,對於未排序數據,在已排序序列中從後向前掃描,找到相應位置並插入。
     * 從第一個元素開始,該元素可以認爲已經被排序;
     * 取出下一個元素,在已經排序的元素序列中從後向前掃描;
     * 如果該元素(已排序)大於新元素,將該元素移到下一位置;
     * 重複步驟3,直到找到已排序的元素小於或者等於新元素的位置;
     * 將新元素插入到該位置後
     * 交換:54321
     * 第一次:45321
     * 第二次:34521
     * 第三次:23451
     * 第四次:12345**/
    public void insertSort(int number[]){
        if(number.length<=1|| number==null)
            return;
        else {
            for(int i=1;i<number.length;i++){
                     int numberInsert=number[i];
                     int j=i-1;
                    while(j>=0&&number[j]>numberInsert)
                    {
                        number[i]=number[j];
                        j--;
                    }
                    number[j+1]=numberInsert;
            }
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章