您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 《基于JAVA数据结构》实验二
《基于JAVA数据结构》实验二目的:1、牢固掌握线性表的基本概念2、熟练掌握线性表的链式存储结构3、熟练掌握基于线性表的链式存储结构的有关算法(静态和动态)实验题目:1、(必做)写出链表的有关操作,包括(建立链表结构、建立单向链表、并在链表上实现元素的插入、元素的删除、元素的查找)。2、(选做)用链表实现两个多项式的相加。要求:1、写出实验报告:包括:所用到的线性表的ADT(抽象数据类型)构造的线性表的类测试用数据2、分析总结实验中出现的问题3、附原程序清单4、用文件的方式进行数据的输入/输出附件:(参考)线性表类publicabstactclassLinkedList{protectedclassListNode{protectedintdata;protectedListNodenext;}protectedListNodelist;protectedintnumItems;//线性表元素的个数protectedListNodecurrentPos;publicLinkedList(){numItems=0;list=null;currentPos=null;}publicabstractvoidcreate(ListNodeheader,intdata);//创建新链表publicabooleanisthere(item);//查找元素publicabstractvoidinsert(ListNodeitem);//插入元素publicabstractvoiddelete(intitem);//删除元素publicastractvoidprintlist();//打印线性表……}创建链表(采用头插和尾插法)及插入元素举例:MyList.javapackagech02.mytest;publicclassMyList{protectedclassListNode{protectedintinfo;protectedListNodenext;}protectedListNodelist;protectedintnumItems;protectedListNodecurrentPos;publicMyList(){numItems=0;list=null;currentPos=null;}publicStringvisitAllNode(){ListNoden1;Strings=;n1=list;while(n1!=null){s=s+n1.info+;;n1=n1.next;}returns;}publicvoidinserthead(intdata)//头插法建立链表{ListNodenewNode=newListNode();newNode.info=data;newNode.next=list;list=newNode;numItems++;}publicvoidinsertend(intdata)//尾插法建立链表{ListNodenewNode=newListNode();newNode.info=data;newNode.next=null;if(list==null){list=newNode;currentPos=list;}else{currentPos.next=newNode;currentPos=newNode;}numItems++;}publicbooleanisThere(intdata1){booleanmoreTosearch;ListNodelocation=list;booleanfound=false;while((location!=null)&&!found)if(location.info==data1)found=true;elselocation=location.next;returnfound;}}useLinkList.javapackagech02.mytest;importjava.io.*;publicclassUseLinkList{publicstaticvoidmain(Stringargs[]){int[]a={3,5,7,9,10,12,14,16};MyListlist=newMyList();MyListlist2=newMyList();for(inti=0;ia.length;i++){System.out.println(a[i]);list.inserthead(a[i]);System.out.println(list.visitAllNode());}list.inserthead(15);System.out.println(list.visitAllNode());for(inti=0;ia.length;i++){System.out.println(a[i]);list2.insertend(a[i]);System.out.println(list2.visitAllNode());}list2.insertend(15);System.out.println(list2.visitAllNode());}}
本文标题:《基于JAVA数据结构》实验二
链接地址:https://www.777doc.com/doc-2833085 .html