欢迎来到天天文库
浏览记录
ID:35342219
大小:57.40 KB
页数:6页
时间:2019-03-23
《实验二java面向对象实现线性表》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验二Java面向对象实现线性表【实验目的】一、掌握JAVA面向对象编程原理;二、掌握JAVA中统一线性表的操作;三、掌握JAVA接口的实现;四、掌握JAVA泛型设计;五、掌握JAVA异常处理。【实验内容】一、定义一个接口,统一线性表的操作;二、用顺序表的实现该接口;三、用链表实现该接口;四、定义Iterator接口,在顺序表和链表中分别实现Iterator接口,实现对线性表的遍历;五、增加泛型的实现;六、自定义异常类处理异常。【实验结果】一、Iterator接口:publicinterfaceIterator{pu
2、blicbooleanisEmpty();publicintLength();publieTGet(inti);publicvoidSet(inti’Tx);publicintLocate(Tx);publicvoidInsert(inti,Tx);publicTDelete(inti);publievoidPrintList();}二、顺序表:publicclassSeqListimplementsIterator{privateintlength;privateT[]data;publicSeqList(i
3、ntN){if(N<1)thrownewIIlegalArgumentException(nInitialNmustbe>=1H);data=(T[])newObject[N];}publicSeqList(){this(10);publicSeqList(Iteratorlist){this(list・Length());for(intiv=list.Length();i++)this・Insert(izlist・Get(i));}publicbooleanisEmpty(){returnlength==0;}pu
4、blicintLength(){returnlength;}voidcheckindex(intindex){sizeif(index<=0
5、
6、index>length)thrownewIndexOutOfBoundsException(nindex=11+index+=n+length);}publicTGet(inti){checkindex(i);returndata[i-1];}publicvoidSet(inti,Tx){checkindex(i);data[i-1]=x;}publicintLocate(Obj
7、ectx){for(inti=0;i8、OutOfBoundsException(nindex=H+i+nlength=H+length);if(length==data.length)data=ChangeSeqListLength(data,2*length);for(intj=length-l;j>i;j——)data[j]=data[j-1];data[i-1]=x;length++;}publicTDelete(inti){checkindex(i);TdeleteX=data[i-1];for(intj=i;j9、]=data[j];length——;returndeleteX;}publicvoidPrintList(){for(inti=0;i{Tdata;Nodenext;publicNode(){}publicNode(Tdata){this•next=null;this.data=data;Node(Tdata,Nodenext){this•data=data;this•next=ne10、xt;}}//定义链表各类方法publicclassLinkListimplementsIterator{privateintlength;protectedNodehead=newNode();protectedNodetail=head;publicLinkList()
8、OutOfBoundsException(nindex=H+i+nlength=H+length);if(length==data.length)data=ChangeSeqListLength(data,2*length);for(intj=length-l;j>i;j——)data[j]=data[j-1];data[i-1]=x;length++;}publicTDelete(inti){checkindex(i);TdeleteX=data[i-1];for(intj=i;j9、]=data[j];length——;returndeleteX;}publicvoidPrintList(){for(inti=0;i{Tdata;Nodenext;publicNode(){}publicNode(Tdata){this•next=null;this.data=data;Node(Tdata,Nodenext){this•data=data;this•next=ne10、xt;}}//定义链表各类方法publicclassLinkListimplementsIterator{privateintlength;protectedNodehead=newNode();protectedNodetail=head;publicLinkList()
9、]=data[j];length——;returndeleteX;}publicvoidPrintList(){for(inti=0;i{Tdata;Nodenext;publicNode(){}publicNode(Tdata){this•next=null;this.data=data;Node(Tdata,Nodenext){this•data=data;this•next=ne
10、xt;}}//定义链表各类方法publicclassLinkListimplementsIterator{privateintlength;protectedNodehead=newNode();protectedNodetail=head;publicLinkList()
此文档下载收益归作者所有