插入排序

工作原理

是通過構建有序序列,對于未排序數據,在已排序序列中從后向前掃描,找到相應位置并插入


實現步驟

  • 從第一個元素開始,該元素可以認為已經被排序;
  • 取出下一個元素,在已經排序的元素序列中從后向前掃描;
  • 如果該元素(已排序)大于新元素,將該元素移到下一位置;
  • 重復步驟3,直到找到已排序的元素小于或者等于新元素的位置;
  • 將新元素插入到該位置后;

實現代碼

public class Insertion_Sort {

    public static void Insertion_Sort(int[] array){
        if (array==null||array.length<=0){
            return;
        }
        int length = array.length;
        int insertNum;
        for (int i = 1; i < length; i++) {
            insertNum=array[i];
            int j=i-1;
            while(j>=0 && array[j]>insertNum){
                array[j+1]=array[j];
                j--;
            }
            array[j+1]=insertNum;
        }
    }
    public static void main(String[] args) {
        int[] array = {3,44,38,5,47,15,36,26,27,2,46,4,19,50,48};

        Insertion_Sort(array);
        System.out.println(Arrays.toString(array));
    }
}
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。