1、node*next;classLinkListLinkList:LinkList(Ta,intn)node*s;first=newnode;first-next=nuLL;public:LinkList(Ta,intn);/建?立?有?Dn个?元a素?的?单链?表aLinkList();/析?构1函?¥数oyvoidInsert(inti,Tx);/在2单a中D第2i个?位?置?插?入值|为ax的TDelete(inti);a中D删|?除y第结点intLocate(Tx);/求a中D值|序号?voidprintList();/遍|历a,按?依次?输o?出?各?private:node*firs
2、t;for(inti=0;is=newnode;s-data=ai;next=first-next;next=s;LinkList()node*q;q=p;p=p-deleteq;voidLinkList:Insert(inti,Tx)node*p,*s;p=first;intj=0;/工?作指?针?p初?始o?化?¥node*p=first;while(p)while(p/工?p后移j+;if(!p)throw;elses=newnode();s-data=x;/向内2存?申|o请?一个?s,其?数oy据Y域?为axs-next=p-/将?s插?到p之?后p-TLinkList:Delete
3、(inti)node*p,*q;intx;¥while(pp|!p-next)throw/结p不?存?在2或p的继不?2q=p-x=q-data;/暂Y存?被删|?next=q-/摘a链?returnx;intLinkList:Locate(Tx)node*p;p=first-intj=1;if(p)returnj;elsereturn0;printList()voidmeun()/couti;cout*p;p=first-while(p!=nuLL)coutdatanext;coutintmain()meun();inta5=23,14,56,78,90;/coutLinkListb1(a,
4、5);intfly=1;while(fly)coutintk,d,f,x,b,loc;cinb;switch(b)case1:case2:coutf;/LinkListl(intf);/LinkListc(intf);b1.Delete(f);break;coutx;loc=b1.Locate(k);coutk;d;/LinkListc(intd,intk);b1.Insert(d,k);case3:return0;/LinkListc(intx);b1.Locate(x);b1.printList();default:cout四、运行与调试a)在调试程序的过程中遇到什么问题,是如何解决的?答
5、:经常忘记对头结点的定义,以至于程序出错,经定义头结点,使程序正常运行b)设计了哪些设计数据?测试结果是什么?设计了插入、删除、显示、按值查找算法,实现插入、删除、显示、按值查找数据的功能。c)程序运行的结果如何?篇三:安阳师范学计算机与信息工程学院综合性、设计性实验报告书实验课程:程序设计基础课程设计实验指导教师:王希杰实验时间:实验题目:单链表的就地逆置实验类型:综合性设计性一、实验目的1.了解数据的逻辑结构及存储结构2.理解单链表的定义3.理解单链表存储、操作数据的特点4.掌握单链表的建立、输出、插入及删除等基本操作二、实验仪器设备及实验环境:1.实验环境:和义楼415机房2.实验设备:
6、计算机、vc+6.0三、总的设计思想、实验原理等通过建立的单链,翻转指针指向,尾部作为头部。四、实验步骤设计:(见附页)1.建立2.翻转3.输出程序代码如下:#includeintdata;structnode*next;intmain()structnode*head,*p,*r,*q;inti,n;head=(structnode*)malloc(sizeof(structnode);q=(structnode*)malloc(sizeof(structnode);head=q;scanf(%d,for(i=1;p=(structnode/p-data=i;q-next=p;p=head-/q-r=q-p=q;q=r;/*p=q;*/head=q;p=head;while(p)printf(,p-data);n);五、实验结果及分析:(可加附页)*)malloc(sizeof(structnode);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1