实验单链表操作验证

实验单链表操作验证

ID:23913151

大小:77.00 KB

页数:11页

时间:2018-11-11

实验单链表操作验证_第1页
实验单链表操作验证_第2页
实验单链表操作验证_第3页
实验单链表操作验证_第4页
实验单链表操作验证_第5页
资源描述:

《实验单链表操作验证》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验报告课程名称数据结构实验名称单链表操作验证实验类型验证型实验实验地点计304机房实验日期2011.10.28指导教师魏海平专业计算机科学与技术班级算计1001学号1011010113姓名张强辽宁石油化工大学计算机与通信工程学院数据结构实验报告评分表项目要求分数有无项目(√)得分预习报告(30分)实验目的明确5实验内容理解透彻5实验方案设计完整合理程序总体框架设计完整10完成相关辅助代码5测试方案合理5实验过程(30分)发现问题5问题的分析15问题的解决方法10实验报告(20分)内容翔实无缺漏5

2、如实记录实验过程10撰写规整5实验总结(10分)实验结果的分析5按照结果对原实验方案的改进意见5实验体会(10分)实验的收获5实验内容的发散考虑5总分实验一单链表操作验证一.实验目的(1)掌握线性表的链接存储结构;(2)验证单链表及其基本操作的实现;(3)进一步掌握数据结构及算法的程序实现的基本方法。二.实验内容(1)用头插法(或尾插法)建立带头结点的单链表;(2)对已建立的单链表实现插人、删除、查找等基本操作。三.实验步骤1.需求分析 本演示程序用VC++编写,完成单链表的生成,任意位置的插入、

3、删除,以及确定某一元素在单链表中的位置。①输入的形式和输入值的范围:插入元素时需要输入插入的位置和元素的值;删除元素时输入删除元素的位置;查找操作时需要输入元素的值。在所有输入中,元素的值都是整数。②输出的形式:在所有三种操作中都显示操作是否正确以及操作后单链表的内容。其中删除操作后显示删除的元素的值,查找操作后显示要查找元素的位置。③程序所能达到的功能:完成单链表的生成(通过插入操作)、插入、删除、查找操作。④测试数据:(1)生成单链表123234345456(2)查找1位置为23(3)删除数据

4、2(4)插入267(5)输出数据1232673454562.源程序如下:#include#include#include#include#defineNULL0structdata{intnum;intd;structdata*next;};structdata*head,*p,*tail;intlen,i;structdata*creat(){intn;len=sizeof(structdata);printf("le

5、n=");scanf("%d",&n);printf("输入创建单链表:");head=(structdata*)malloc(len);printf("数据位置和数据:");scanf("%d%d",&head->num,&head->d);tail=head;for(i=2;i<=n;i++){p=(structdata*)malloc(len);scanf("%d%d",&p->num,&p->d);tail->next=p;tail=p;}tail->next=NULL;retur

6、n(head);}voidoutput(structdata*head){intj;structdata*p0,*p1;p=head;for(j=0;jnext;if(p->num>p0->num){p1=p;p=p0;p0=p1;}}for(p=head;p!=NULL;p=p->next)printf("%d:%d",p->num,p->d);}structdata*ins(structdata*head){struc

7、tdata*p0,*p1,*p2;structdata*ins;printf("输入插入的位置和数据:");ins=(structdata*)malloc(len);scanf("%d%d",&ins->num,&ins->d);p1=head;p0=ins;if(head==NULL){head=p0;p0->next=NULL;}else{while((p0->num>p1->num)&&(p1->next!=NULL)){p2=p1;p1=p1->next;}if(p0->num<=p1->

8、num){if(head==p1)head=p0;elsep2->next=p0;p0->next=p1;}else{p1->next=p0;p0->next=NULL;}}for(p=head;p!=NULL;p=p->next)printf("%d:%d",p->num,p->d);return(head);}structdata*del(structdata*head){structdata*p1,*p2;intnum;printf("输入删除位置:");scanf("%

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

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

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