import java.util.Arrays;
/**
* @author lixin
* @date 2019/3/16 - 10:52
*/
public class InsertSort {
public static void main(String[] args) {
int[] arr = new int[]{1, 3, 4, 5, 2, 7, 6, 4, 5};
insertSort(arr);
System.out.println(Arrays.toString(arr));
}
public static void insertSort(int[] arr) {
//遍历所有数字
for (int i = 1; i < arr.length; i++) {
//如果当前数字比前一个数字小
if (arr[i] < arr[i - 1]) {
int temp = arr[i];
int j;
//遍历当前数字前面所有的数字
for (j = i - 1; j >= 0 && temp < arr[j]; j--) {
//把前一个数字赋给后一个数字
arr[j + 1] = arr[j];
}
//把临时变量(外层for循环的当前元素)赋给不满足条件的后一个元素
arr[j + 1] = temp;
}
}
}
}
数据结构与算法基础-插入排序(Java)
最新推荐文章于 2021-11-13 14:56:34 发布