簡述
插入排序也是比較常用、簡單的一種排序方式,同時呢也是我們生活中最常用的一種排序方式:打布克牌抓牌的時候就是使用的插入排序。
原理
假設我們要排序的數組為[10,6,3,9,8,7,5,4,6]
我們從1開始一直周遊到n
我們周遊到之前的元素都是有序的
那麼我們周遊的新元素後,隻需要對前邊的有序數組進行查找,找到合适的位置将新元素插入即可
看例子:

代碼
public static void sort(int[] arr){
//數組長度
int n = arr.length;
//從1開始周遊
for (int i = 1; i < n; i++) {
//記錄目前需要插入的值
int key = arr[i];
int j = i-1;
//從後往前尋找要插入的位置,其他元素往後稍一稍給騰個地方
while (j >= 0 && arr[j] > key){
arr[j+1] = arr[j];
j--;
}
//插入
arr[j+1] = key;
}
}
建議
不了解的話,可以拿出撲克牌來,抓一波牌體驗一波