【排序算法】插入排序白話講解

原理

在這裏插入圖片描述
  1.把待排序的數組分成已排序和未排序兩部分,初始的時候把第一個元素認爲是已排好序的。

  2.從第二個元素開始,在已排好序的子數組中尋找到該元素合適的位置並插入該位置。

  3.重複上述過程直到最後一個元素被插入有序子數組中。

僞代碼

在這裏插入圖片描述

代碼

public static void insertionSort(int[] arr){
	for (int i=1; i<arr.length; ++i){
		int value = arr[i];
		int position=i;
		while (position>0 && arr[position-1]>value){
			arr[position] = arr[position-1];
			position--;
		}
		arr[position] = value;
	}
}

穩定性

  由於只需要找到不大於當前數的位置而並不需要交換,因此,直接插入排序是穩定的排序方法。

複雜度

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章