1、题目
我的代码:
package test;
public class Test {
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(index==-1) {
index=arr.length;
}
int[] arrNew=new int[arr.length+1];
for(int i=0;i<arr.length+1;i++) {
if(i<index) {
arrNew[i]=arr[i];
}
else if(i==index) {
arrNew[i]=insertNum;
}
else {
arrNew[i]=arr[i-1];
}
}
arr=arrNew;
for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]+" ");
}
}
}
主要是观察index在这个代码中的作用,大体思路是确定索引位置,然后扩容定位,当然后面arr[i]赋值给arrNew[i]有一个代码优化,下面来欣赏一下:
这个j++太妙了~