资源描述:
《数据结构实验二 线性表.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验报告二线性表班级:姓名:学号:专业:一、实验目的:(1)理解线性表的逻辑结构、两种存储结构和数据操作;(2)应用顺序表的基本算法实现集合A=AUB算法,应用顺序表的基本算法实现两有序顺序表的归并算法;(3)掌握单链表的遍历、插入和删除等操作算法,实现多项式相加。二、实验内容:1、设有线性表LA=(3,5,8,11)和LB=(2,6,8,9,11,15,20);①若LA和LB分别表示两个集合A和B,求新集合A=AUB(‘并’操作,相同元素不保留);预测输出:LA=(3,5,8,11,2,6,9,15,20)实现代码:pack
2、ageEx1;publicclassPoint{inta=0;publicPointnext=null;publicPoint(inta){this(a,null);}publicPoint(inta,Pointnext){this.a=a;this.next=next;}}-----------------------------------packageEx1;publicclassSeqList{privatePointhead=null;privatePointtail=null;publicSeqList(){hea
3、d=null;tail=null;}publicbooleanisEmpty(){returnhead==null;}publicvoidaddHead(inta){head=newPoint(a,head);if(tail==null)tail=head;}publicvoidaddTail(inta){if(isEmpty()){this.addHead(a);}else{Pointtemp=newPoint(a);tail.next=temp;tail=tail.next;}}publicbooleanFind(inta
4、){if(isEmpty())returnfalse;else{for(Pointtemp=head;temp!=null;temp=temp.next){if(temp.a==a)returntrue;}}returnfalse;}publicvoidaddList(SeqListlist){for(Pointtemp=list.head;temp!=null;temp=temp.next){if(Find(temp.a)){continue;}else{Pointtemp1=newPoint(temp.a);tail.ne
5、xt=temp1;tail=tail.next;}}}publicvoidPri(){//TODOAuto-generatedmethodstubfor(Pointtemp=head;temp!=null;temp=temp.next){System.out.printf("%4d",temp.a);}}}------------------------packageEx1;publicclassTest{staticint[]x={3,5,8,11};staticint[]x1={2,6,8,9,11,15,20};stat
6、icSeqListList1=newSeqList();staticSeqListList2=newSeqList();publicstaticvoidDef(){for(inti=0;i7、;List2.Pri();System.out.println("");}publicstaticvoidAdd(){List1.addList(List2);}publicstaticvoidPri1(){System.out.println("合并后链表内容为:");List1.Pri();}publicstaticvoidmain(Stringars[]){Def();Pri();Add();Pri1();}}粘贴运行结果:②将LA与LB表归并,要求仍有序(相同元素要保留)(两种存储结构)预测输出:LC=(2,3,5,6
8、,8,8,9,11,11,15,20)packageEx1;publicclassPoint{inta=0;publicPointnext=null;publicPoint(inta){this(a,null);}publicPoint(inta,Pointnext){thi