插入排序

//插入排序
//从第一个元素开始,每个数往前插入,后一个数与前一个数相比较,如果后一个数小于前一个数,则将后一个数往前移位。
public class InsertSort {
public static void main(String[] args) {
int[] arr = {-2, 52, 525, 5, -22, 0, 2};
insertSort(arr);
System.out.println(Arrays.toString(arr));
}

public static void insertSort(int[] arr) {
int j, t;
for (int i = 1; i < arr.length; i++) {
t = arr[i];//存储需要插入的元素
j = i - 1;//插入的前一个元素
while (j >= 0 && t < arr[j]) {// t < arr[j]后一个元素比前一个元素小
arr[j + 1] = arr[j];//把小的元素往前移位
j--;
}
arr[j + 1] = t;//把要插入的那个元素插入到合适位置
}
}
}
结果为:[-22, -2, 0, 2, 5, 52, 525]
原文地址:https://www.cnblogs.com/jasonboren/p/10783954.html