顺序表是基于数组的线性表。在java中基本的数组问题:数组的长度是固定的,声明后只能存放固定的长度的数值,而顺序表是动态数组可以根据数据的大小来调整数组的大小。
import java.util.Arrays; public class MyArray { private int[]data; private int size; public MyArray(){ data=new int[10]; } public MyArray(int cap){ data=new int[cap]; } //判断是否已满 private void full(){ if (size==data.length){ System.err.println("full"); } } //扩容 private void grow(){ int[] newdata= Arrays.copyOf(this.data,data.length<<1); this.data=newdata; } //中间插入 public void addIndex(int index,int val){ if (size==data.length){ grow(); } if (index<0||index>size){ System.err.println("err"); return; }else { for (int i = size - 1; i >= index; i--) { data[i+1] = data[i]; } } data[index]=val; size++; } public void addFist(int val){ addIndex(0,val); } public void addlast(int val){ addIndex(size,val); } public String toString(){ String ret="["; for (int i = 0; isize){ System.err.println("err"); return; } for (int i = index; i public class test { public static void main(String[] args) { MyArray myArray=new MyArray(3); myArray.addlast(1); myArray.addlast(2); myArray.addlast(3); System.out.println(myArray); myArray.addIndex(2,4); System.out.println(myArray); myArray.removeIndex(2); System.out.println(myArray); } }欢迎分享,转载请注明来源:内存溢出
评论列表(0条)