hsp 简单插入排序 60-62
作者:
等一下
,
2022-02-03 12:36:52
,
所有人可见
,
阅读 178
hsp 简单插入排序 60-62
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main{
public static void main(String args[]) {
int[] arr = new int[7];
Scanner scanner = new Scanner(System.in);
for(int i = 0; i < arr.length; i++) {
arr[i] = scanner.nextInt();
}
insertSort(arr);
}
public static void insertSort(int[] arr) {
for(int i = 1; i < arr.length; i++) {
int insertVal = arr[i];
int insertIndex = i - 1;
//待插入的值小于有序那部分中最大的值时,才需要移位,如果大于等于的话,不动就好了
if(insertVal < arr[insertIndex]) {
//找insertVal插入位置的前一个索引
while(insertIndex >= 0 && insertVal < arr[insertIndex]) {
arr[insertIndex + 1] = arr[insertIndex];
insertIndex--;
}
}
arr[insertIndex + 1] = insertVal;
System.out.println("第" + i + "轮插入后");
System.out.println(Arrays.toString(arr));
}
}
}