实验报告(单链表)

实验报告(单链表)

ID:12036628

大小:84.50 KB

页数:7页

时间:2018-07-15

实验报告(单链表)_第1页
实验报告(单链表)_第2页
实验报告(单链表)_第3页
实验报告(单链表)_第4页
实验报告(单链表)_第5页
资源描述:

《实验报告(单链表)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、院系:计算机科学学院专业:自动化年级:2009级课程名称:计算机软件技术基础学号:09064039姓名:指导教师:吴立锋2010年11月25日年级 2009班号 2班组号 学号 09064039专业自动化 姓名 实验名称 线性表实验室 9#205实验目的或要求 了解线性表的逻辑结构和各种存储表示方法,以及定义在逻辑结构上的各种基本运算及其在某种存储结构上如何实现这些基本运算。在熟悉上述内容的基础上,能够针对具体应用问题的要求和性质,选择合适的存储结构设计出相应的有效算法,解决与线性表相关的实际问题。实验原理(算法流程)1、实验内容用C/C++语言编写程序

2、,完成以下功能:(1)运行时输入数据,创建一个单链表(2)可在单链表的任意位置插入新结点(3)可删除单链表的任意一个结点(4)在单链表中查找所有值等于x的结点(5)输出单链表要求:自定义结点结构,程序模块清晰。 2、存储结构描述及说明typedefstructlinknode{intdata;structlinknode*next;}node;单链表可以有头指针唯一确定3、函数说明(1)创建单链表①函数原型:node*creat()②函数功能:创建一个单链表,并用将其头结点用*headfan返回。(2)输出单链表①函数原型:voidprint()②函数功

3、能:输出已建立的单链表中的元素。实验原理(算法流程)(3)查找数据;①函数原型:voidfind()②函数功能:在单链表中查找值为x的结点。(4)插入结点:①函数原型:voidinsert()②函数功能:在已建立的单链表中插入值为x的结点。(5)删除结点;①函数原型:voiddel()②函数功能:在已建立的单链表中删除值为x的结点(5)主函数;①函数原型:voidmain()②函数功能:调用其他的函数。4、模块之间的调用关系main()find()del()insert()creat()组内分工(可选)实验结果分析及心得体会实验结果分析:本次实验中遇到很

4、多的问题:输出的时候无法输出第一个结点元素、查找时怎么输入都找不到元素、删除的时候不能删除第一个结点等。经过对课本知识的深入研究以及向老师请教,终于将问题一一改正,从而使程序能够正常运行。心得体会:此次实验让我感到自己的C语言知识掌握尚不熟练,以后还要多加巩固,通过多写程序来提高自己的编程能力,在遇到问题的时候不要立刻去找老师解决,要自己先动脑筋想想,仔细检查程序有没有错误,只有自己检查出来的错误才能印象深刻,实在搞不懂的再向老师请教,改正之后要牢记心中。我也感觉到单链表的重要性,单链表是编写其很多程序的基础,所有自己要认真学习单链表的相关知识,把基础打

5、牢。成绩评定教师签名:年月日#include#includetypedefstructlinknode{intdata;structlinknode*next;}node;node*creat(){node*head,*p,*s;intx,cycle=1;head=(node*)malloc(sizeof(node));p=head;while(cycle){scanf("%d",&x);if(x!=0){s=(node*)malloc(sizeof(node));s->data=x;p->next=s;p=s;}e

6、lsecycle=0;}p->next=NULL;p=head;head=head->next;free(p);returnhead;}voidprint(node*head){node*p;p=head;while(p){printf("%d",p->data);p=p->next;}}voidfind(node*head){node*p;intx,k=1;printf("pleaseinputthenumberyouwantfind:");scanf("%d",&x);p=head;while(p!=NULL&&p->data!=x)p=p->nex

7、t,k++;if(p!=NULL)printf("zhaodaolethedata'snumberis%d",k);elseprintf("meizhaodao");}voidinsert(node*head){node*s,*p,*m;inti,x,j;printf("pleaseinputiandx");scanf("%d%d",&i,&x);s=(node*)malloc(sizeof(node));s->data=x;if(i==0){s->next=head;head=s;}else{p=head;j=1;while(p!=NULL

8、&&jnext;}if(p!=NULL){s->nex

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

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

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