public class Test4 {
public static void main(String[] args) {
//定义原数组
int arr[] = {10, 12, 45, 90};
int insertNum = 23;//定义插入的元素
int index = -1;//定义位置
for (int i = 0; i < arr.length; i++) {
if (insertNum <= arr[i]) {
index = i;
break;//找到位置就退出
}
}
//是否进入if语句
if (index == -1) {
//插最后
index = arr.length;
}
// System.out.println(index);
//进行扩容
int arrNew[] = new int[arr.length + 1];
//关键 将arr数组拷贝到arrNew中 并且跳过index位置
for (int i = 0, j = 0; i < arrNew.length; i++) {
if (i != index) {
arrNew[i] = arr[j];
j++;
} else {
arrNew[i] = insertNum;//插入的数字
}
}
arr = arrNew;
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i] + "\t");
}
}
}
已知有个升序的数组,要求插入一个元素,该数组顺序依然是升序,比如[10, 12, 45,90],添加23后,数组为 [10,12,23, 45]
最新推荐文章于 2024-08-16 23:08:28 发布