public classList {privateObject[] data;private intlength;/**新建一个线性表*/
publicList(Object...objects) {this.data =objects;for(Object object:objects) {this.length++;
}
}/** 若线性表为空,返回true 否则返回false*/
public booleanListEmpty() {if(this.data == null) {return true;
}else{return false;
}
}/** 将当前线性表清空*/
public booleanClearList() {this.data = null;this.length = 0;return true;
}/** 将返回线性表的第i个位置的元素值*/
public Object GetElem(inti) {returndata[i];
}/** 在表从找到与e值相等的元素,返回该元素表示成功,返回0表示失败*/
publicObject LocateElem(Object e) {int i = 0;for(Object object:this.data) {if(object ==e) {returni;
}
i++;
}return 0;
}/** 在表中的第i个位置插入新元素e*/
public Boolean ListInsert(inti, Object e) {if(this.length ==i) {//如果超过表的长度 返回错误
return false;
}else{for(int j = this.length - 1; j > i; j--) {
data[j]= data[j-1] ;
}
data[i]=e;return true;
}
}/** 返回表的长度*/
public intlength() {return this.length;
}/** 删除表的第i个位置*/
public Boolean ListDelete (inti) {if(this.length ==i) {//如果超过表的长度 返回错误
return false;
}else{for(int j = i; j < this.length - 1; j++) {
data[j]= data[j+1] ;
}return true;
}
}public static voidmain (String[] args) {
List list1= new List(1,"字",2,"123");
System.out.print("现在的表:");for(int i = 0; i < list1.length; i++) {
System.out.print(list1.GetElem(i)+ ",");
}
System.out.println();
System.out.print("这个是空的吗");
System.out.println(list1.ListEmpty());
System.out.print("1的位置在");
System.out.println(list1.LocateElem(1));
System.out.print("字的位置在");
System.out.println(list1.LocateElem("字"));
System.out.print("在2的位置添加一个1");
System.out.println(list1.ListInsert(2, 1));
System.out.print("现在的表:");for(int i = 0; i < list1.length; i++) {
System.out.print(list1.GetElem(i)+ ",");
}
System.out.println();
System.out.print("把1的位置的数据删掉");
System.out.println(list1.ListDelete(1));
System.out.print("现在的表:");for(int i = 0; i < list1.length; i++) {
System.out.print(list1.GetElem(i)+ ",");
}
System.out.print("清空表:");
list1.ClearList();
System.out.print("这个是空的吗");
System.out.println(list1.ListEmpty());
}
}