//动态分配数组
public class TestArray{
static int index=4;
public static void main(String[] argv){
int a[]={1,2,3,4};
a=insert(a,2,5);
a=delete(a,3);
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
System.out.println("index="+index);
}
//插入一个元素
static int[] insert(int[] a,int pos,int value){
if(index==a.length){
a=expand(a);
}
for(int i=index;i>=pos+1;i--){
a[i]=a[i-1];
}
a[pos]=value;
index++;
return a;
}
//扩充元素
static int[] expand(int[] a){
int[] b=new int[a.length*2];
System.arraycopy(a,0,b,0,a.length);
return b;
}
//删除元素
static int[] delete(int[] a,int pos){
for(int i=pos;i<=index-2;i++){
a[i]=a[i+1];
}
index--;
return a;
}
}
其中
//扩充元素
static int[] expand(int[] a){
int[] b=new int[a.length*2];
System.arraycopy(a,0,b,0,a.length);
return b;
}
b是一个函数内部的数组,局部的,能否返回,谢谢大家!!!!