数据结构课程单链表实验报告

数据结构课程单链表实验报告

ID:21749385

大小:79.27 KB

页数:7页

时间:2018-10-24

数据结构课程单链表实验报告_第1页
数据结构课程单链表实验报告_第2页
数据结构课程单链表实验报告_第3页
数据结构课程单链表实验报告_第4页
数据结构课程单链表实验报告_第5页
资源描述:

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

1、数据结构实验报告郑州轻工业学院《数据结构》课程实验实验报告题目:单链表表的基本操作及c语言实现专业:信息管理与信息系统班级:11-01姓名:高博文完成日期:2013/5/23郑州轻工业学院数据结构实验报告一、试验内容用c语言实现单链表的建立插入删除查找,合并等内容二、试验目的掌握链表的基本操作:插入、删除、查找等运算,能够灵活应用链表这种数据结构,深入对链表链式结构的了解。三.源程序代码#include#includetypedefintElemtype;typedefintStatus;t

2、ypedefstructnode//定义存储节点{intdata;//数据域structnode*next;//结构体指针}*linklist,node;//结构体变量,结构体名称linklistcreat(intn)//创建单链表{linklisthead,r,p;//定义头指针r,p,指针intx,i;head=(node*)malloc(sizeof(node));//生成头结点r=head;//r指向头结点printf("输入数字:");for(i=n;i>0;i--)//for循环用于生成第一个节点并读入数据{sc

3、anf("%d",&x);p=(node*)malloc(sizeof(node));p->data=x;//读入第一个节点的数据r->next=p;//把第一个节点连在头结点的后面r=p;//循环以便于生成第二个节点}r->next=0;//生成链表后的断开符returnhead;//返回头指针}voidoutput(linklisthead)//输出链表{linklistp;p=head->next;郑州轻工业学院数据结构实验报告do{printf("%3d",p->data);p=p->next;}while(p);pri

4、ntf("");}Statusinsert(linklist&l,inti,Elemtypee)//插入操作{intj=0;linklistp=l,s;while(jnext;++j;}if(!p

5、

6、j>i-1)return-1;else{s=(node*)malloc(sizeof(node));s->data=e;s->next=p->next;p->next=s;return1;}}Statusdelect(linklist&l,inti,Elemtype&e)//删除操作{intj=0;l

7、inklistp=l,q;while(jnext){p=p->next;++j;}if(!p->next

8、

9、j>i-1)return-1;郑州轻工业学院数据结构实验报告else{q=p->next;p->next=q->next;e=q->data;free(q);return1;}}voidcombine(linklistla,linklistlb)//合并单链表{node*pa,*pb,*pc;linklistlc;pa=la->next;pb=lb->next;lc=pc=la;while(pa&&pb)

10、{if(pa->data<=pb->data){pc->next=pa;pc=pa;pa=pa->next;}else{pc->next=pb;pc=pb;pb=pb->next;}}pc->next=pa?pa:pb;free(lb);}StatusGetElem(linklistl,inti,Elemtype&e)//查找操作{linklistp;intj;p=l->next;j=1;while(p&&jnext;++j;}if(!p

11、

12、j>i)return-2;e=p->data;郑州轻工业学院数据结构实

13、验报告returne;}voidmain(){linklistla,lb;intn;inti,j;Elemtypee;printf("请输入第一个链表:");printf("输入链表元素的个数:");scanf("%d",&n);la=creat(n);printf("输出链表:");output(la);printf("请输入要查找元素的位置:");scanf("%d",&i);j=GetElem(la,i,e);printf("所要查找的元素是%d",j);printf("请输入插入位置和元素:");

14、scanf("%d%d",&i,&e);insert(la,i,e);printf("插入后的链表:");output(la);printf("请输入要删除的位置:");scanf("%d",&i);delect(la,i,e);printf("删除的那

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

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

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