- 17
- 0
- 约2.01万字
- 约 58页
- 2017-05-21 发布于浙江
- 举报
数据结构报告实验报告
院 系: 计算机科学学院 专 业:计科年 级: 2013课程名称: 数据结构 学 号:201321091135姓 名:司少武指导教师: 刘晶 2016年 6月12日实验一 线性结构的基本操作和应用实验目的及要求一、实验目的:1、掌握线性表的结构特点和实现方法,能够编写程序实现线性表的基本操作:初始化,插入,删除,查找,判空,求线性表长度等运算。2、能够掌握特殊线性表(栈和队列)的结构特点及其基本操作;3、能利用栈的特性进行实际应用。二、实验题目及要求:线性结构部分共包含三个实验内容:用顺序表或者链表实现线性表的基本操作:初始化,插入,删除,查找,判空,求线性表长度。线性表的基本应用:从以下两个实验题目中任选一个实现:1) 利用线性表实现一元多项式的相加。2) 利用线性表实现约瑟夫环问题。利用栈的基本操作,编写程序实现括号匹配问题:从键盘输入一组括号,当程序接收第一个左括号之后,期待与之匹配的右括号,如果等到的是另外一组括号的左一半则等待,若等到另外一个不匹配的右括号则程序结束并提示括号不匹配;若整个括号序列判断完毕,但栈未空则表示仍有括号未配对,提示不匹配。否则提示匹配。三、实验报告书写要求: 简明清晰的写出每个实验题目的算法步骤,可以混合使用自然语言、流程图及伪代码的方式,不能直接复制源程序。每个实验题目需要附上程序正确运行结果的截图。题目一 线性表的基本操作算法步骤的简要说明(流程图或伪代码)题目:用顺序表或者链表实现线性表的基本操作:初始化,插入,删除,查找,判空,求线性表长度。算法思想:主要设计了一个包含数据和指针域的结点。 Data *next 主要思想:插入: 删除:主函数int main() :初始化一个链表L,显示菜单,主要语句:switch语句,while语句,goto语句。创建并输入链表数据linklist createlist(),在该函数中创建头结点,并输入结点上的数据。伪代码:while(当x!=00){p = new list;p-data = x;p-next = NULL;q-next = p;q = p;}显示链表数据void show(linklist L)先判断是否是空表,再逐个寻找想要的元素。主要代码:while(p){coutp-data\t;p = p-next;}获取链表长度int getlength(linklist L)先判断是否为空,再遍历链表,算出链表长度。主要代码:while(p){p = p-next;length++;}获取第i个元素int getdata(linklist L,int i)1)当0ilength时,遍历链表,找到第i个元素。2)主要代码:while(pji){j++;p = p-next;}改变链表数据int changedata(linklist L,int e,int d)找到要修改的值e,再把d赋值给e.2)主要代码:while(pp-data!=e){p = p-next;}if(!p)return ERROR;p-data = d;插入一个结点linklist insertlist(linklist L,int i,int e)1)因为要插入第i个元素,所以要先找到第i-1个元素,在i-1后面插入。2)主要代码:s-data = e;s-next = p-next ;p-next = s;删除一个结点linklist deletelist(linklist L,int i)1)同插入差不多,先找到第i-1个元素,然后再把i-1结点指针域指向原本指向结点的下一个,把中间那个删除,再free,释放空间,主要代码:q = p-next;p-next =q-next;free(q);实验截图:心得体会:源代码:/*线性表的操作(单链表)*/#includestdio.h#includestdlib.htypedef struct LNode{int data; struct LNode *next;??}LNode, *Linklist;/*线性表的结构*/?/*基本操作函数*//*构造空线性表。操作结果:构造空线性表,如成功返回1,否则返回0。*/int InitList(Linklist L){ L=(Linklist)malloc(sizeof(LNode));? if(L) {? L-next=NULL; return 1;? } else return 0;}/*顺序创建一个线性链表函数。当输入的结点的数据值为0时,线性链表创建结束。返回线性表的头结点指针。*/Linklist hrear
您可能关注的文档
- 数据库实验报告(7个实验完整附截图).doc
- 数据库实验报告6-13.docx
- 数据库实验报告:ado连接数据库.pdf
- 数据库实验指导书_梁宝华.pdf
- 数据库应用之数据更新实验报告.doc
- 数据库概论实验指导书.docx
- 数据库系统分析与设计课程设计报告撰写模板(信管12级).doc
- 数据库系统原理操作实验指导书(全).pdf
- 数据库系统原理综合设计报告.doc
- 数据库系统实验报告 ado连接数据库.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 中医推拿技巧PPT培训课件.ppt
- 隐写术与取证考试题目及答案解析.docx VIP
- 中华民族共同体概论课件第四讲天下秩序与华夏共同体演进(夏商周时期)2025年版.pptx VIP
- 浙G37-2012 静钻根植桩先张法预应力混凝土竹节桩.pdf VIP
- 定向钻工程监理实施细则.docx VIP
- 南开大学23春“信息安全”《信息隐藏技术》补考试题库附答案.docx VIP
- 大学课程《水利水电工程建筑物》PPT课件:8.5第八章第五节 水电站厂房的类型和布置.pptx VIP
- 2025年北京电子科技职业学院单招笔试综合素质试题库含答案解析(5套试题).docx VIP
- 2025-2026学年人教版(新教材)初中生物八年级下册教学计划及进度表.docx
- 中华民族共同体概论课件专家版2第二讲__树立正确的中华民族历史观.pptx VIP
原创力文档

文档评论(0)