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

上传人:王** 文档编号:314827 上传时间:2023-05-18 格式:DOCX 页数:10 大小:39.71KB
下载 相关 举报
数据结构课程单链表实验报告.docx_第1页
第1页 / 共10页
数据结构课程单链表实验报告.docx_第2页
第2页 / 共10页
数据结构课程单链表实验报告.docx_第3页
第3页 / 共10页
数据结构课程单链表实验报告.docx_第4页
第4页 / 共10页
数据结构课程单链表实验报告.docx_第5页
第5页 / 共10页
数据结构课程单链表实验报告.docx_第6页
第6页 / 共10页
数据结构课程单链表实验报告.docx_第7页
第7页 / 共10页
数据结构课程单链表实验报告.docx_第8页
第8页 / 共10页
数据结构课程单链表实验报告.docx_第9页
第9页 / 共10页
数据结构课程单链表实验报告.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
资源描述

《数据结构课程单链表实验报告.docx》由会员分享,可在线阅读,更多相关《数据结构课程单链表实验报告.docx(10页珍藏版)》请在优知文库上搜索。

1、郑州轻工业学院数据结构课程实验实验报告题目:单链表表的基本操作及C语言实现专业:信息管理与信息系统班级:11-01姓名:完成日期:2022/5/23用C语言实现单链表的建立插入删除查找,合并等内容二、试验目的掌握链表的基本操作:插入、删除、查找等运算,能够灵便应用链表这种数据结构,深入对 链表链式结构的了解。三.源程序代码#include#includetypedef int Elemtype;typedef int Status;typedef struct node/定义存储节点int data,数据域struct node *next”结构体指针 *linklist,node;/结构体变

2、量,结构体名称linklist creat (int n)创建单链表(linklist head,卬;定义头指针r,p,指针int x,i;head=(ncxle *)malloc(sizeof(node);/生成头结点r=headyr指向头结点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;/生成链表后的断开符ret

3、urn head/返回头指针void output (linklist head)/输出链表linklist p;p=head-next;doprintf(%3d,p-data); p=p-next;while(p);printf(HnM);)Status insert (linklist &l,int i, Elemtype e)插入操作int j=0;linklist p=l,s;while(jnext;+j;if(!pji-1)return -1;elses=(node *)malloc(sizeof(node);s-xiata=e;s-next=p-next;p-next=s;retu

4、rn 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(IinkIiStla,linklist Ib)合并单链表node *pa,*pb,*pc;linklist lc;pa=la-next;pb=lb-next;c=pc=la;while(p

5、a & 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(!pji)return -2;e=p-data;郑州轻工业学院return e;void main()linklist Ia1Ib;int n;int i,j;Elemtype

6、 e;Printf(请输入第一个链表:n);Printf(输入链表元素的个数:r);scanf(%d,&n);la=creat(n);Printf(输出链表:n);Output(Ia);Printf(请输入要查找元素的位置:n);scanf(%d,Si);j=GetElem(la,i,e);Printf (所要查找的元素是dn” J);Printf(请输入插入位置和元素:rf);scanf(H%d%d,&i,&e); insert(la,i,e);Printf(”插入后的链表:W);Output(Ia);Printf(请输入要删除的位置:n);scanf(%d,Si);delect(la,i1

7、e);Printf(删除的那个元素是:%dn,e);Printf(输出删除后的顺序表:n);output(la);Printf(请输入第一个非递减链表:n);PrintT输入链表元素的个数:n);scanf(%dM,&n);la=creat(n);Printf (输出链表:nOutput(Ia);Printf(请输入第二个非递减链表:n); 郑州轻工业学院Printf(输入链表元素的个数:n);SCanf (%Cr,&n);lb=creat(n);Printf(输出链表:n);output(lb);Combine(IaJb);Printf(输出合并后的链表:n);Output(Ia);运行结果如下: *CAUsersmoyuunDesktopDebugthl .exe 六、结果分析与思量关于单链表的建立要比顺序表难懂,单链表的建立有头插法和尾插法两种,我选用的是尾插法,尾插法较之头插法更为简单和使用,一定要熟练使用。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 实验设计

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!