package Data_Structure;import java.util.Scanner;public class SeqList<T> {private int length;static private int MAXSIZE =100;private Object[] data;// 0<=i<=length,允许在末尾的下一个位置插入@SuppressWarnings("unchecked")public void InsertList(int i,T data) throws IllegalStateException{//保证其插入位置合法以及还有插入位置if(length == MAXSIZE ){throw new IllegalStateException("该表已满");}if(i<0 || i>length){throw new IllegalArgumentException("非法参数");}//从最后一个元素开始,依次将元素后移for(int k = length-1; k>=i;k--){this.data[k+1] = this.data[k];}//然后直接插入this.data[i] = data;this.length++;System.out.println("索引"+i+"位置成功插入元素"+data);}//删除索引位置i的元素, 0<=i<length@SuppressWarnings("unchecked")public T DeleteList(int i) {if(length==0){throw new IllegalStateException("非法操作");}if(i<0||i>=length){throw new IllegalStateException("非法参数");}T element = (T)this.data[i];//元素依次迁移,覆盖掉原本的位置。for(int k=i;k<length-1;k++){this.data[k]=this.data[k+1];}this.length--;this.data[length] = null;return element;}public SeqList() {this.length=0;this.data = new Object[MAXSIZE];}public int getLength() {return length;}public void setLength(int length){this.length=length;}@SuppressWarnings("unchecked")public T getDataForIndex(int i) {return (T)this.data[i];}public void showList(){System.out.print("[");for(int i=0;i<length;i++){System.out.print(this.<T>getDataForIndex(i));if(i<length-1)System.out.print(",");}System.out.println("]");}public static void main(String[] args){SeqList<String> stringSeqList = new SeqList<>();Scanner in = new Scanner(System.in);for (int i = 0; i < 10; i++) {System.out.println("请输入字符串:");String str = in.next();stringSeqList.<String>InsertList(i,str);}stringSeqList.<String>showList();}
}哈尔滨市网站建设_网站建设公司_网站制作_seo优化