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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

1614010102曹妍数据结构实验报告1.docx

1、1614010102曹妍数据结构实验报告1哈尔滨理工大学软件与微电子学院实 验 报 告(2017-2018第一学期)课程名称: 班 级: 学 号: 姓 名: 实验名称数据结构实验一专 业软件工程姓 名 曹妍学 号1614010102班 级软件16-1班一、实验目的:1.熟悉链表结构;2.掌握链表结构上的各种操作;3.学会运用链表结构求解问题。二、实验内容:建立一个单链表,在此链表上实现以下几种操作:1.求此单链表的长度;2.在此单链表的第i个元素结点之前插入一个结点;3.删除此单链表的第i个元素结点。三、实验设备及软件环境:软件需求:Code Blocks硬件需求:微型计算机四、实验过程及结果

2、:#include #include /*定义ElemType为int类型*/typedef int ElemType;#define TRUE 1#define FALSE 0#define NULL 0#define flag -1/*单链表的结点类型*/typedef struct LNode ElemType data; struct LNode *next;LNode,*LinkedList;/*初始化单链表*/LinkedList LinkedListInit() LinkedList L; L=(LinkedList)malloc(sizeof(LNode); L-next=NU

3、LL; return L;/*清空单链表*/void LinkedListClear(LinkedList L) L-next=NULL; printf(链表已经清空n);/*检查单链表是否为空*/int LinkedListEmpty(LinkedList L) if (L-next=NULL) return TRUE; else return FALSE;/*遍历单链表*/void LinkedListTraverse(LinkedList L) LinkedList p; p=L-next; if(p=NULL)printf(单链表为空表n); else printf(链表中的元素为:n

4、); while(p!=NULL) printf(%d,p-data); p=p-next; printf(n);int LinkedListLength(LinkedList L) LinkedList p; int j; p=L-next; j=0; while(p!=NULL) j+; p=p-next; return j;LinkedList LinkedListGet(LinkedList L,int i) LinkedList p; int j; p=L-next; j=1; while (p!=NULL&jnext; j+; if(j=i)return p; else retur

5、n NULL;int LinkedListLocate (LinkedList L,ElemType x) LinkedList p; int j; p=L-next; j=1; while(p!=NULL&p-data!=x) p=p-next; j+; if(p)return j; else return 0;void LinkedListInsert(LinkedList L,int i,ElemType x) LinkedList p,s; int j; j=1; p=L; while(p&jnext; j+; if (p=NULL|ji) printf(插入位置不正确n); else

6、 s=(LNode*)malloc(sizeof(LNode); s-data=x; s-next=p-next; p-next=s; printf(%d已插入到链表中n,x); void LinkedListDel(LinkedList L,int i) LinkedList p,q; int j; j=1; p=L; while(p-next&jnext; j+; if(p-next=NULL) printf(删除位置不正确n); else q=p-next; p-next=q-next; free(q); printf(第%d个元素已从链表中删除n,i); LinkedList Link

7、edListCreat() LinkedList L=LinkedListInit(),p,r; ElemType x; r=L; printf(请依次输入链表中的元素,输入-1结束n); scanf(%d,&x); while(x!=flag) p=(LinkedList)malloc(sizeof(LNode); p-data=x; r-next=p; r=p; scanf(%d,&x); r-next=NULL; return L;int scan() int d; printf(请选择要进行的操作n); printf(1.初始化 2.清空 3.求链表长度 4.检查链表是否为空n); p

8、rintf(5.遍历链表 6.从链表中查找元素n); printf(7.从链表中查找与给定元素值相同的元素在顺序表中的位置n); printf(8.向链表中插入元素 9.从链表中删除元素n); printf(其他键退出。n); scanf(%d,&d); return(d);main() int quit=0; int i,locate; ElemType e; LinkedList L,p; while(!quit) switch (scan() case 1: L=LinkedListInit(); printf(n); break; case 2: LinkedListClear(L);

9、 printf(n); break; case 3: printf(链表的长度为%dn,LinkedListLength(L); break; case 4: if(LinkedListEmpty(L)printf(链表为空n); else printf(链表非空n); break; case 5: LinkedListTraverse(L); break; case 6: printf(请输入待查询元素在链表中的位置:); scanf(%d,&i); p=LinkedListGet(L,i); if(p) printf(链表中第%d个元素的值为:%dn,i,p-data); else pri

10、ntf(查询位置不正确n); break; case 7: printf(请输入待查询元素的值:); scanf(%d,&e); locate=LinkedListLocate(L,e); if(locate) printf(%d在链表中的位置是:%dn,e,locate); else printf(链表中没有值为%d的元素n,e); break; case 8: printf(请输入插入元素的位置和值(中间以空格或回车分割):n); scanf(%d%d,&i,&e); LinkedListInsert(L,i,e); break; case 9: if (LinkedListLength(

11、L)=0) printf(链表已经为空,不能删除n); else printf(请输入待删除元素的位置:n); scanf(%d,&i); LinkedListDel(L,i); break; case 10: L=LinkedListCreat(); printf(n); break; default: quit=1; 五、总结:这是一门纯属于设计的科目,它需用把理论变为上机调试。在学习科目的第一节课起,李老师就为我们阐述了它的重要性。它对我们来说具有一定的难度。它是其它编程语言的一门基本学科。刚开始学的时候确实有很多地方我很不理解,每次上课时老师都会给我们出不同的设计题目,对于我们一个初学

12、者来说,无疑是一个具大的挑战,撞了几次壁之后,我决定静下心来,仔细去写程序。老师会给我们需要编程的内容一些讲解,顺着老师的思路,来完成自己的设计,我们可以开始运行自己的程序,可是好多处的错误让人看的可怕,还看不出到底是哪里出现了错误,但是程序还是得继续下去,我多次请教了老师和同学,逐渐能自己找出错误,并加以改正。TC里检查错误都是用英文来显示出来的,经过了这次课程设计,现在已经可以了解很多错误在英文里的提示,这对我来说是一个突破性的进步,眼看着一个个错误通过自己的努力在我眼前消失,觉得很是开心。此次的程序设计能够成功,是我和我的同学三个人共同努力作用的结果。在这一段努力学习的过程中,我们的编程设计有了明显的提高。其实现在想起来,收获还真是不少,虽然说以前非常不懂这门语言,在它上面花费了好多心血,觉得它很难,是需用花费了大量的时间编写出来的。现在真正的明白了一些代码的应用,每个程序都有一些共同点,通用的结构,相似的格式。只要努力去学习,就会灵活的去应用它。实验成绩: 指导教师: 年 月 日

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

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