




免费预览已结束,剩余2页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
郑州轻工业学院数据结构课程实验实 验 报 告题目: 单链表表的基本操作及c语言实现 专业: 信息管理与信息系统 班级: 11-01 姓名: 高博文 完成日期: 2013/5/23 一、 试验内容用c语言实现单链表的建立插入删除查找,合并等内容二、试验目的掌握链表的基本操作:插入、删除、查找等运算,能够灵活应用链表这种数据结构,深入对链表链式结构的了解。三源程序代码#include#includetypedef int Elemtype;typedef int Status;typedef struct node/定义存储节点int data;/数据域struct node *next;/结构体指针 *linklist,node;/结构体变量,结构体名称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;i0;i-)/for 循环用于生成第一个节点并读入数据scanf(%d,&x);p=(node *)malloc(sizeof(node);p-data=x;/读入第一个节点的数据r-next=p;/把第一个节点连在头结点的后面r=p;/循环以便于生成第二个节点r-next=0;/生成链表后的断开符return head;/返回头指针void output (linklist head)/输出链表linklist p;p=head-next;doprintf(%3d,p-data);p=p-next;while(p);printf(n);Status insert ( linklist &l,int i, Elemtype e)/插入操作int j=0;linklist p=l,s;while(jnext;+j;if(!p | ji-1)return -1;elses=(node *)malloc(sizeof(node);s-data=e;s-next=p-next;p-next=s;return 1;Status delect ( linklist &l,int i, Elemtype &e)/删除操作int j=0;linklist p=l,q;while(jnext)p=p-next;+j;if(!p-next | ji-1)return -1;elseq=p-next;p-next=q-next;e=q-data;free(q);return 1;void combine(linklist la,linklist lb)/合并单链表node *pa,*pb,*pc;linklist lc;pa=la-next;pb=lb-next;lc=pc=la;while(pa & pb)if(pa-datadata)pc-next=pa;pc=pa;pa=pa-next;elsepc-next=pb;pc=pb;pb=pb-next;pc-next=pa?pa:pb;free(lb); Status GetElem(linklist l,int i,Elemtype &e )/查找操作 linklist p; int j; p=l-next; j=1; while(p & jnext; +j; if(!p | ji) return -2; e=p-data; return e; void main()linklist la,lb;int n;int i,j;Elemtype e;printf(请输入第一个链表:n);printf(输入链表元素的个数:n);scanf(%d,&n);la=creat(n);printf(输出链表:n);output(la);printf(请输入要查找元素的位置:n);scanf(%d,&i);j=GetElem(la,i,e);printf(所要查找的元素是%dn,j);printf(请输入插入位置和元素:n);scanf(%d%d,&i,&e);insert(la,i,e);printf(插入后的链表:n);output(la);printf(请输入要删除的位置:n);scanf(%d,&i);delect(la,i,e);printf(删除的那个元素是:%dn,e);printf(输出删除后的顺序表:n);output(la);printf(请输入第一个非递减链表:n);printf(输入链表元素的个数:n);scanf(%d,&n);la=creat(n);printf(输出链表:n);output(la);printf(请输入第二个非递减链表:n);printf(输入链表元素的个数:n);scanf(%d,&n);lb=creat(n);printf(输出链表:n);output(lb);combine(la,lb);printf(输出合并后的链表:n);output(la);运行结果如下:六、结果分析与思考关于单链表的建立要比顺序表难懂,单链表的建立有头插法和尾插法两种,我
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国抗菌肽项目创业计划书
- 2025年泰盈复合材料制品厂建设项目环评报告表
- 大同市中医院IgG4相关疾病诊疗思路考核
- 黑河市人民医院抗体鉴定技术考核
- 中国切削油项目创业计划书
- 中国无机鞣料项目创业计划书
- 邢台市人民医院神经电生理室主任技术管理考核
- 鸡西市人民医院风险管理与内部控制运营视角试题
- 晋城市人民医院脑死亡判定脑电图考核
- 中国矿物油增稠剂项目经营分析报告
- 顶账车位协议书
- 2025自考行政管理模拟考试试题及答案
- 《胸外心脏按压操作》课件
- 居家陪护免责合同协议
- 承台大体积砼浇筑方案
- 宣传片管理制度
- 食堂不合格食品处置制度
- 驻场人员管理办法及流程
- 2025年护士执业资格考试题库-护理质量管理与评价案例分析题库深度解析
- 疼痛管理多学科协作模式-洞察分析
- 考研动员讲座
评论
0/150
提交评论