import java.util.Scanner;
public class AddSeq{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
//有序数组
int[] arr = {10,12,45,90};
//输入待插入数据
int add = input.nextInt();
//标记位置为新数组的最后一位
int sign = arr.length;
//查找大于待插入数据的下标
for(int i = 0; i < arr.length; i++){
if(arr[i] > add){
sign = i;
break;
}
}
//扩容
int[] arrNew = new int[arr.length+1];
//数组复制,到待插入位置的前一位
for(int i = 0; i < sign; i++){
arrNew[i] = arr[i];
}
//插入数据
arrNew[sign] = add;
//复制余下内容
for(int i = sign + 1; i < arrNew.length; i++){
arrNew[i] = arr[i - 1];
}
//指针转移
arr = arrNew;
for(int i = 0; i < arr.length; i++){
System.out.print(arr[i] + " ");
}
}
}
Java在有序数组中插入新数字后仍然有序
最新推荐文章于 2024-08-01 15:05:06 发布