天天看點

insertion sort java_排序--插入排序(Insertion Sort)Java實作

簡述

插入排序也是比較常用、簡單的一種排序方式,同時呢也是我們生活中最常用的一種排序方式:打布克牌抓牌的時候就是使用的插入排序。

原理

假設我們要排序的數組為[10,6,3,9,8,7,5,4,6]

我們從1開始一直周遊到n

我們周遊到之前的元素都是有序的

那麼我們周遊的新元素後,隻需要對前邊的有序數組進行查找,找到合适的位置将新元素插入即可

看例子:

insertion sort java_排序--插入排序(Insertion Sort)Java實作

代碼

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;

}

}

建議

不了解的話,可以拿出撲克牌來,抓一波牌體驗一波