版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、郑州轻工业学院数据结构课程实验实验报告题目:单链表表的基本操作及 C语言实现专业:信息管理与信息系统班级:11-01姓名:高博文2013/5/23完成日期:郑州轻工业学院一、试验内容用c语言实现单链表的建立插入删除查找,合并等内容二、试验目的掌握链表的基本操作:插入、删除、查找等运算,能够灵活应用链表这种数据结构,深入对 链表链式结构的了解。三、源程序代码#i nclude<stdio.h>#i nclude<stdlib.h>typedef int Elemtype;typedef int Status;typedef struct node/定义存储节点int da
2、ta;/ 数据域struct node *next;/ 结构体指针 *li nklist, no de;/结构体变量,结构体名称linklist creat (int n)/ 创建单链表linklist head,r,p; 定义头指针 r,p,指针int x,i;head=(node *)malloc(sizeof(node);/ 生成头结点r=head;/r指向头结点printf("输入数字:n");for(i=n;i>0;i-)/for 循环用于生成第一个节点并读入数据scan f("%d",& x);p=(node *)malloc(
3、sizeof( no de);p->data=x;/读入第一个节点的数据r-> next=p;把第一个节点连在头结点的后面r=p;/循环以便于生成第二个节点r->next=0;/生成链表后的断开符return head;/返回头指针void output (linklist head)/ 输出链表li nklist p;p=head->n ext;郑州轻工业学院doprin tf("%3d",p->data);p=p->n ext;while(p);prin tf("n");Status in sert ( lin k
4、list & l,i nt i, Elemtype e) 插入操作int j=0;lin klist p=l,s;while(j<i-1 && p)p=p->n ext;+j;if(!p II j>i-1)return -1;elses=(node *)malloc(sizeof( no de);s->data=e;s->n ext=p->n ext;p_>n ext=s;return 1;Status delect ( linklist &l,int i, Elemtype &e) 删除操作 int j=0;l
5、in klist p=l,q;while(j<i-1 && p-> next)p=p->n ext;+j;if(!p-> next | j>i-1) return -1;郑州轻工业学院elseq=p->n ext;p_>n ext=q _>n ext;e=q_>data;free(q);return 1;void combi ne(li nklist la,li nklist lb)合并单链表node *pa,*pb,*pc;lin klist lc;pa=la->n ext;pb=lb->n ext;lc=pc
6、=la;while(pa && pb)if(pa->data<=pb->data)pc->n ext=pa;pc=pa;pa=pa->n ext;elsepc- >n ext=pb;pc=pb;pb=pb->n ext;pc->n ext=pa?pa:pb; free(lb);Status GetElem(linklist l,int i,Elemtype &e )/查找操作li nklist p;int j;p=l->n ext;j=1;while(p && j<i)p=p->n ext
7、;+j;if(!p II j>i)return -2;e=p->data;郑州轻工业学院return e; void mai n()lin klist la,lb;int n;int i,j;Elemtype e;printf("请输入第一个链表:n"); printf("输入链表元素的个数:n"); scan f("%d",&n);la=creat (n);printf("输出链表:n");output(la);printf("请输入要查找元素的位置:n"); scan f
8、("%d",&i);j=GetElem(la,i,e);printf("所要查找的元素是%dn",j);printf("请输入插入位置和元素:n"); scan f("%d%d",&i,& e);in sert(la,i,e);printf("插入后的链表:n");output(la);printf("请输入要删除的位置:n");scan f("%d", &i);delect(la,i,e);printf("删除的
9、那个元素是:%dn",e);printf("输出删除后的顺序表:n"); output(la);printf("请输入第一个非递减链表:n"); printf("输入链表元素的个数:n"); scan f("%d",&n);la=creat (n);printf("输出链表:n");output(la);printf("请输入第二个非递减链表:n");郑州轻工业学院:n");printf(”输入链表元素的个数scan f("%d",&n);lb=creat (n);printf("输出链表:n"); output(lb);comb in e(la,lb);printf("输出合并后的链表:n"); output(la);运行结果如下:郑州轻工业学院输入数字1:1S输岀磁表二爲入如插入肓的链裘:15357i論入要删除的位置 z输岀链表:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理健康宣教软件
- 初中校长在第六届校园科技节闭幕式暨表彰会致辞
- 2023年专业技术人员继续教育信息能力建设考试多选题
- 2024年《安全生产管理知识》模拟试卷(一)
- 中国古代文学常识汇编
- 2023年绥化绥棱县“绥才回流”计划考试真题
- 2023年高级营销员四级考试试题样本无答案
- 2023年四川宜宾中考英语试题及答案
- 2023年教师资格之小学综合素质考前冲刺模拟试卷A卷含答案
- 质量通病防治措施技术交底
- 2026内蒙古锡林郭勒盟阿巴嘎旗林草执法人员补充招收6人备考题库附答案详解(综合题)
- 2026年中山兴中集团有限公司校园招聘笔试参考题库及答案解析
- 2026贵州六盘水市融资担保有限责任公司招聘4人笔试历年常考点试题专练附带答案详解
- 2025重庆机场集团有限公司社会招聘150人(第二次)笔试历年备考题库附带答案详解
- 2026年广东中山市高三一模高考地理试卷试题(含答案详解)
- 人工智能伦理教案
- GB/T 47165-2026木质素硫酸盐木质素、碱木质素和水解木质素中木质素含量的测定
- 大族激光苹果创新加速与算力PCB扩产激光龙头迎接新一轮高成长
- 2026年春人教鄂教版(新教材)小学科学三年级下册(全册)课时练习及答案(附目录)
- 2026年长春职业技术学院单招综合素质考试题库含答案解析
- 建筑安全生产标准化制度
评论
0/150
提交评论