Java数组扩容
本博文源于自己遇到一个扩容问题,以往数组扩容就是利用数据结构元素向后移动,但这java刚再次熟悉,不好操作最后还是用双指针法进行解决。
数组扩容思想
- 找到元素
- 进行扩容
- 最后遍历检验效果
测试效果
完整代码
public class ArrayExercise03 {
public static void main(String args[]){
int arr[] = {
1,2,3,4,7};
int num = 5;
int index = -1;
//插入之前
System.out.println("扩容之前:....");
for(int i = 0;i<arr.length;i++){
System.out.print(arr[i] + " ");
}
//找寻元素
for(int i =0;i<arr.length;i++)
if(arr[i]>num){
index = i;
break;
}
//进行扩容
int arrNew[] = new int[arr.length+1];
for(int i =0,j=0;i<arrNew.length;i++){
if(i != index){
arrNew[i] = arr[j];
j++;
}else{
arrNew[i] = num;
}
}
arr = arrNew;
System.out.println("\n扩容之后:....");
for(int i = 0;i<arr.length;i++){
System.out.print(arr[i] + " ");
}
}
}
还没有评论,来说两句吧...