欢迎来到天天文库
浏览记录
ID:6234361
大小:59.00 KB
页数:8页
时间:2018-01-07
《java 数据结构实验报告实验二__线性表的链式存储结构》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、班级:__软工2班__姓名:___张睿___学号:___123012009053___实验二线性表的链式存储结构一.目的要求:1.掌握链式存储结构的特点。2.掌握链式存储结构的常见算法。二.实验内容1.使用原有的顺序表的接口;2.用类实现该接口的基本方法:u插入数据元素(按指定位置插入和在表尾插入),建立链表;u按指定位置查找在该链表中的某一元素;u按指定位置删除该链表中的某一元素;u实现该链表的遍历;3.
2、定义客户类来调用接口中的方法三.程序设计分析因为链表的基本操作方法也是插入删除等,所以链表同样使用了ListInterface接口。实现声明ADT操作的单一借口的类,应该将声明的方法只定义为公有方法,这个类还可以定义私有方法和受保护方法。四,源代码1链表类.importlist.ListInterface;publicclassLListimplementsListInterface{privateNodefirstNode;//指向第一个结点的引用 privateintlength;//线性表的元素数目 publicLList
3、(){//TODOAuto-generatedconstructorstubclear();}publicbooleanadd(TnewEntry){NodenewNode=newNode(newEntry);if(isEmpty()){firstNode=newNode;}else{NodelastNode=getNodeAt(length);lastNode.setNext(newNode);//使最后一个结点指向新结点}length++;returntrue;}/**班级:
4、__软工2班__姓名:___张睿___学号:___123012009053___*任务:往线性表的末尾插入新元素*输入:newEntry作为新元素插入的对象*返回:如果插入成功则返回true,否则返回false*/publicbooleanadd(intnewPosition,TnewEntry){booleanisSuccessful=true;if((newPosition>=1)&&(newPosition<=length+1)){Nodene
5、wNode=newNode(newEntry);if(isEmpty()
6、
7、(newPosition==1)){newNode.setNext(firstNode);firstNode=newNode;}else{NodenodeBefore=getNodeAt(newPosition-1);NodenodeAfter=nodeBefore.getNext();newNode.setNext(nodeAfter);nodeBefore.setNext(newNode);}//endiflength++;}elseisSucces
8、sful=false;returnisSuccessful;}//endaddprivateNodegetNodeAt(intgivenPosition){//Task:返回对指定位置结点的引用assert!isEmpty()&&(givenPosition>=1)&&(givenPosition<=length);NodecurrentNode=firstNode;for(intcounter=1;counter9、sertcurrentNode!=null;returncurrentNode;}publicvoidclear(){//TODOAuto-generatedmethodstubfirstNode=null;length=0;}publicbooleancontains(TanEntry){booleanfound=false;NodecurrentNode=firstNode;while(!found&&(currentNode!=null)){if(anEntry.equals(currentNode.getData()))found=10、true;班级:__软工2班
9、sertcurrentNode!=null;returncurrentNode;}publicvoidclear(){//TODOAuto-generatedmethodstubfirstNode=null;length=0;}publicbooleancontains(TanEntry){booleanfound=false;NodecurrentNode=firstNode;while(!found&&(currentNode!=null)){if(anEntry.equals(currentNode.getData()))found=
10、true;班级:__软工2班
此文档下载收益归作者所有