ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:58.43KB ,
资源ID:12612368      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12612368.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构课程单链表实验报告.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

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

2、*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;/把第一个节点连在

3、头结点的后面 r=p;/循环以便于生成第二个节点 r-next=0;/生成链表后的断开符return head;/返回头指针void output (linklist head)/输出链表 linklist p; p=head-next; do printf(%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; else s=(n

4、ode *)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;else q=p-next; p-next=q-next; e=q-data; free(q); return 1;void combine(linklist la,linklist lb)/合

5、并单链表 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; i

6、f(!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

7、(%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);运行结果如下:六、结果分析与思考关于单链表的建立要比顺序表难懂,单链表的建立有头插法和尾插法两种,我选用的是尾插法,尾插法较之头插法更为简单和使用,一定要熟练使用。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1