数据结构课内实验报告(单链表).doc

数据结构课内实验报告(单链表).doc

ID:58539685

大小:142.50 KB

页数:7页

时间:2020-05-19

数据结构课内实验报告(单链表).doc_第1页
数据结构课内实验报告(单链表).doc_第2页
数据结构课内实验报告(单链表).doc_第3页
数据结构课内实验报告(单链表).doc_第4页
数据结构课内实验报告(单链表).doc_第5页
资源描述:

《数据结构课内实验报告(单链表).doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、数据结构实验报告题目:单链表院系名称:专业名称:班级:学生姓名:学号(8位):指导教师:陈燕设计起止时间:2014年10月29日~2014年11月04日一.题目要求编写一个单链表实现单链表的各种运算功能二.概要设计1.功能模块的调用关系图InitList DispList CreateList ListLengthmain ListEmpty DestroyList GetElem ListInsert ListDelete LocateElem 2.各个模块详细的功能描述。主函数main() 初始化单链表函

2、数InitList_L 显示单链表内容函数DispList_L 插入元素函数ListInsert_L删除元素函数ListDelete_L 查找元素函数LocateList_L 创建链表函数CreateList_L  链表元素长度函数ListLength_L 三.详细设计(主要函数的程序流程图)主函数main()说明一个单链表 L初始化 L建立 L ;显示 L 四.测试数据及运行结果1.正常测试数据和运行结果2.异常测试数据及运行结果五.调试情况,设计技巧及体会1.改进方案刚开始调试的时候老出现错误,经过不断看

3、书,和同学讨论,不断改进自己的代码,虽然成功了,但是功能并不是很全面,进过改进,才改成功。2.体会熟能生巧,只有将单链表相关知识弄懂才能熟练的运用,对于代码出错,绝对不能急躁,要有耐心才能有清醒的头脑,将代码改好。六.代码#include#include#definen10#definenull0typedefstructnode{intdata;structnode*next;}node;node*CreatLink(inta[]){node*q,*p,*h;inti;

4、for(i=0;idata=a[i];if(!i)h=p;elseq->next=p;q=p;}q->next=null;returnh;}voidDispLink(node*h){node*p;intsum=0;p=h;while(p){printf("%dt",p->data);p=p->next;sum+=1;if(!(sum%5))printf("");}printf("");}node*DeleteLink(

5、node*h,intx){node*q,*p;intsum=1;p=h;if(!(h->data-x)){h=p->next;printf("待删除结点位置为头结点!");free(p);returnh;}while(1){q=p;p=p->next;sum+=1;if(!(p->data-x)){q->next=p->next;printf("待删除结点位置为第%d个结点",sum);free(p);break;}if(!(sum-n)){printf("未找到可删除结点");break;}}r

6、eturnh;}node*InsertLink(node*h,intins,intx){node*q,*p;intk=0;q=h;p=(node*)malloc(sizeof(node));p->data=x;if(!(k-ins)){p->next=h;h=p;printf("待插结点位置位于头节点之前");returnh;}while(1){q=q->next;k=k+1;if(!(k+1-ins)){p->next=q->next;q->next=p;printf("待插入结点位置位于第%d个结点之

7、后",ins);break;}if(ins<0

8、

9、ins>k+1){printf("输入的待插入结点位置不正确");break;}}returnh;}intmain(){inti,x,ins;inta[n]={1,2,3,4,5,6,7,8,9,10};node*head;head=CreatLink(a);DispLink(head);printf("请输入需要删除的结点值x=");scanf("%d",&x);head=DeleteLink(head,x);DispLink(head);print

10、f("请输入待插入结点x=");scanf("%d",&x);printf("请输入插入结点位置ins=");scanf("%d",&ins);head=InsertLink(head,ins,x);DispLink(head);return0;}

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

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

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