/**
* @author pzz
* @date 2022/5/25
* 插入排序
*/
public class InsertSort {
public static void main(String[] args) {
int[] a = {7, 5, 19, 8, 4, 1};
insert(a);
}
private static void insert(int[] a) {
//i代表待插入的元素索引(从索引为1开始,第二个元素开始,与第一个比较)
for (int i = 1; i < a.length; i++) {
//代表待插入的元素值
int t = a[i];
//j是待插入元素要插入的位置
int j = i;
System.out.println(j);
while (j >= 1){
if (t < a[j - 1]){
//j-1 是上一个上一个元素的索引,如果大于t(待插入得元素),往后移
a[j] = a[j - 1];
j--;
}else {
//如果就j-1<=t(待插入的元素),则直接插入到j的位置
break;
}
}
a[j] = t;
System.out.println(Arrays.toString(a) + " " + j);
}
}
}
结束!
最能激励自己的是今天的事情已经完成,不惧明天的到来。