资源描述:
《实验报告数据结构》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验报告一、实验口的1.掌握线性表的链式存储结构的表示和实现方法。2.掌握链表基本操作的算法实现。二、实验内容(1)根据输入的一系列整数,以0标志结束,用头插法建立单链表,并输出单链表中各元素值,观察输入的内容与输出的内容是否一致。(2)在单链表的第i个元素之前插入一个值为x的元素,并输出插入后的单链表中各元素值。(3)删除单链表中第i个元素,并输出删除后的单链表中各元素值。(4)在单链表中查找第i个元素,如果查找成功,则显示该元素的值,否则显示该元索不存在。三、算法设计1、创建单链表:Unklistcreat(Linklist&L){intn
2、ode;Linklistp;L=newLNODE;L->next=NULL;coutw11输入线性表中的各个元素,以0结尾:“;cin»node;while(node!=0){p=newLNODE;if(!p)break;p->data=node;p・>next=L->next;L・〉next=p;cin»node;}returnL;}2、输出单链表的长度:intlen(LinklistL)Linklistp;inta=0;p=L->next;while(p!=NULL){p=p->next;a++;}cout«"单链表的长度为:“vvavve
3、ndl;returna;}3>单链表中插入元素:Linklistinsert(Linklist&L,intijntx){intj;Linklistp,s;P=L;j=0;while(p!=NULL&&jv“){p=p->next;++j;}if(p==NULL
4、
5、j>i-l)cout«^t误的插入位置!“;else{s=new(LNODE);s->data=x;s->next=p・>next;p->next=s;}returnL;}4、单链表中删除元素:Linklistdel(Linklist&L,inti)intj,t;Linklistp’c
6、;P=L;j=0;while(p->next!=NULL&&jvi・l){p=p->next;++j;}if((p->next==NULL)
7、
8、(j>i-l))coutvv“错误的删除位置r;else{c=p->next;p・>next=c->next;t=c->data;cout«''删除的元素是:,'vvt;delete(c);}returnL;}5、单链表中查询元素:intsearch(LinklistL,inti){Linklistp;intj;intlg=len(L);if(i>lg){coutvv"错误的查询位置!return0;}
9、elsep=L->next;j=l;while(p&&jvi)p=p->next;j++;}return(p->data);}}四、详细程序清单#ineludeusingnamespacestd;typedefstructLnodeintdata;structLnode*next;}LNODE/Linklist;Linklistcreat(Linklist&L){intnode;Linklistp;L=newLNODE;L->next=NULL;cout«H输入纟£性表中的各个元素,以0结尾:”;cin»node;while
10、(node!=0){p=newLNODE;if(!p)break;p->data=node;p->next=L->next;L・〉next=p;cin»node;}returnL;}intlen(LinklistL)Linklistp;inta=0;p=L->next;while(p!=NULL){p=p->next;a++;}cout«"单链表的长度为:n«a«endl;returna;}Linklistinsert(Linklist&L,intijntx){intj;Linklistp,s;P=L;j=0;while(p!=NULL&&jv
11、“){p=p->next;++j;}if(p==NULL
12、
13、j>i-l)coutvv“错误的插入位置!“;else{s=new(LNODE);s->data=x;s->next=p->next;p->next=s;}returnL;}intsearch(LinklistL’inti)Linklistp;intj;intlg=len(L);{coutvv”错误的查询位置!return0;}else{p=L->next;j=l;while(p&&jvi){p=p->next;j++;}return(p->data);}}Linklistdel(Li
14、nklist&L,inti){intj,t;Linklistpzc;P=L;j=0;while(p->next!=NULL&&jvi・l){p=p->