题目:有一组学员的成绩降序排列{99,85,82,63, 60},要增加一个学员的成绩,将它插入成绩序列,并保持降序
- 确定要插入的位置
- 将插入位置的数字都往后移
- 覆盖确定插入位置的数字
代码讲解:
- index变量存放的是确认插入的数字的下标
- 通过array[j] = array[j-1];把数字往后挪
public class Main {
public static void main(String[] args) {
int array[] = {99,85,82,63, 60,0};
// 先输入要插入的数字
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要插入的数字");
int num = scanner.nextInt();
int index = array.length-1;
// 1.通过比较确定插入位置
for (int i=0;i< array.length;i++){
if (array[i]<num){
index = i;
System.out.println("需要插入的位置为:"+index);
break;
}
}
//2把数组往后挪
for (int j= array.length-1;j>index;j--){
array[j] = array[j-1];
}
System.out.println("往后挪以后的"+Arrays.toString(array));
//3.覆盖
array[index]=num;
System.out.println("插入后的"+Arrays.toString(array));
}