import java.util.Arrays;
public class ArrayList{
private int size=0;
private int[] array;
public ArrayList(int[] array){
this.array=new int[array.length];
for(int i=0;i<array.length;i++){
this.array[i]=array[i];
}
size=array.length;
}
public void insert(int index,int element){
if(index<0||index>size){
System.out.printf("取值范围不合法");
return;
}
ensure();//保证空间够用
for(int i=size-1;i>=index;i--){
array[i+1]=array[i];
}
array[index]=element;
size++;
}
public void erase(int index){
if(index<0||index>=size)
{
System.out.printf("取值范围不合法");}
for(int i=index+1;i<=size-1;i++){
array[i-1]=array[i];
}
size--;
array[size]=0;
}
private void ensure(){
if(size<array.length){
return;}
int old=array.length;
int newer=old+old/2;
int[] newArray=new int[newer];
for(int i=0;i<size;i++){
newArray[i]=array[i];}
array=newArray;
}
public String toString(){
return Arrays.toString(
Arrays.copyOf(array,size));
}
public static void main(String[] args){
int[] array={1,2,3,4,5};
ArrayList arrayList=new ArrayList(array);
arrayList.insert(3,20);
System.out.println(arrayList.toString());
arrayList.erase(1);
System.out.println(arrayList.toString());
}
}
【Java】实现顺序链的插入、删除(优化)
最新推荐文章于 2022-08-06 16:44:29 发布