数据结构单链表插入、删除和修改实验报告

数据结构单链表插入、删除和修改实验报告

ID:6405808

大小:236.00 KB

页数:10页

时间:2018-01-12

数据结构单链表插入、删除和修改实验报告_第1页
数据结构单链表插入、删除和修改实验报告_第2页
数据结构单链表插入、删除和修改实验报告_第3页
数据结构单链表插入、删除和修改实验报告_第4页
数据结构单链表插入、删除和修改实验报告_第5页
资源描述:

《数据结构单链表插入、删除和修改实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、计算机学院实验报告课程名称:数据结构实验名称:单链表学生姓名:朱孝彬学生学号:20110511001实验日期:201210一、实验目的1.理解数据结构中带头结点单链表的定义和逻辑图表示方法。2.掌握单链表中结点结构的C++描述。3.熟练掌握单链表的插入、删除和查询算法的设计与C++实现。二、实验内容1.编制一个演示单链表插入、删除、查找等操作的程序。三、实验步骤1.需求分析本演示程序用C++6.0编写,完成单链表的生成,任意位置的插入、删除,以及确定某一元素在单链表中的位置。①输入的形式和输入值的范围:插入元素时需要输入插入的位置和元素的值;删除元素时输入

2、删除元素的位置;查找操作时需要输入元素的值。在所有输入中,元素的值都是整数。②输出的形式:在所有三种操作中都显示操作是否正确以及操作后单链表的内容。其中删除操作后显示删除的元素的值,查找操作后显示要查找元素的位置。  ③程序所能达到的功能:完成单链表的生成(通过插入操作)、插入、删除、查找操作。④测试数据: A.插入操作中依次输入11,12,13,14,15,16,生成一个单链表   B.查找操作中依次输入12,15,22返回这3个元素在单链表中的位置   C.删除操作中依次输入2,5,删除位于2和5的元素2.概要设计1)为了实现上述程序功能,需要定义单链

3、表的抽象数据类型:  (1)insert初始化状态:单链表可以不为空集;操作结果:插入一个空的单链表L。 (2)decelt    操作结果:删除已有的单链表的某些结点。(3)display    操作结果:将上述输入的元素进行排列显示。   (4)modify    操作结果:将上述输入的某些元素进行修改。   (5)save10   操作结果:对上述所有元素进行保存。   (6)load    操作结果:对上述元素进行重新装载。3.使用说明程序执行后显示  ======================1.单链表的创建2.单链表的显示3.单链表的长度4.

4、取第i个位置的元素5.修改第i个位置的元素6.插入元素到单链表里7.删除单链表里的元素8.合并两个单链表9.退出系统=======================5.源代码:#includeusingnamespacestd;#definetrue1#definefalse0#defineok1#defineerror0#defineoverflow-2typedefintStatus;typedefintElemType;typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*

5、LinkList;10voidCreateList(LinkList&L,intn){LinkListp;L=newLNode;L->next=NULL;LinkListq=L;for(inti=1;i<=n;i++){p=newLNode;cin>>p->data;p->next=NULL;q->next=p;q=p;}}StatusGetElem(LinkListL,inti,ElemType&e){LinkListp=L->next;intj=1;while(p&&jnext;++j;}if(!p

6、

7、j>i)returnerror;

8、e=p->data;returnok;}StatusLinkInsert(LinkList&L,inti,ElemTypee){LinkListp=L;intj=0;while(p&&jnext;++j;}if(!p

9、

10、j>i-1)returnerror;LinkLists=newLNode;s->data=e;s->next=p->next;10p->next=s;returnok;}StatusListDelete(LinkList&L,inti,ElemType&e){LinkListp=L;LinkListq;intj=0;w

11、hile(p->next&&jnext;++j;}if(!(p->next)

12、

13、j>i-1)returnerror;q=p->next;p->next=q->next;e=q->data;delete(q);returnok;}voidMergeList(LinkList&La,LinkList&Lb,LinkList&Lc){LinkListpa,pc,pb;pa=La->next;pb=Lb->next;Lc=pc=La;while(pa&&pb){if(pa->data<=pb->data){pc->next=pa;pc=pa;

14、pa=pa->next;}else{pc->next=pb;pc=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。