package com.wangjun.arithmetic;
import java.util.Arrays;
/*
* 插入排序
*/
public class SortInsert {
public static void main(String[] args) {
int[] arr = {2,3,7,5,43,8,9,0,3,1};
SortInsert ss = new SortInsert();
ss.sortInsert(arr);
System.out.println(Arrays.toString(arr));
}
/*
插入排序,通过比较和插入:
1,首先对数组的前两个数据进行从小到大的排序
2,接着将第3个数据与排序好的两个数据进行比较,插入合适的位置
3,然后,将第4个数据插入已经排好的前3个数据中
4,不断重复上述的过程,完成排序
*/
public void sortInsert(int[] arr) {
int len = arr.length;
for(int i = 1; i < len; i++) {
int tem = arr[i];
int j = i - 1;
while(j >= 0 && tem < arr[j]) {
arr[j+1] = arr[j];
j--;
}
arr[j+1] = tem;
}
}
}