插入排序算法(Insert Sort)
本文介绍了插入排序算法的思想和图解,并利用Java语言实现了该算法
插入排序(Insert Sort)算法的基本思想是:
图解
代码实现
package io.github.kuyer.sort;
public class InsertSort {
public static void main(String[] args) {
int[] arr = {45, 8, 147, 3, 74, 21, 233, 71};
System.out.println("Before Sort:");
for(int i=0; i<arr.length; i++) {
System.out.printf("%d ", arr[i]);
}
System.out.println();
insertSort(arr);
System.out.println("After Sort:");
for(int i=0; i<arr.length; i++) {
System.out.printf("%d ", arr[i]);
}
}
private static void insertSort(int[] arr) {
int len = arr.length;
for(int i=1; i<len; i++) {
int index = -1;
int temp = 0;
for(int j=0; j<i; j++) {
if(arr[j] > arr[i]) {
index = j;
temp = arr[i];
break;
}
}
if(index >= 0) {
for(int k=i; k>index; k--) {
arr[k] = arr[k-1];
}
arr[index] = temp;
}
}
}
}