数据结构与算法分析实验

数据结构与算法分析实验

ID:26402260

大小:66.50 KB

页数:10页

时间:2018-11-26

数据结构与算法分析实验_第1页
数据结构与算法分析实验_第2页
数据结构与算法分析实验_第3页
数据结构与算法分析实验_第4页
数据结构与算法分析实验_第5页
资源描述:

《数据结构与算法分析实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据结构与算法分析实验教材:电子信息技术专业实验指导书的第2章:数据结构实验本实验课学分:0.5上课周次:10周-17周(各个班不同,13)成绩评定:随课实验,成绩不单独给,但会体现在数据结构与算法分析课程的成绩中,课程总3.5学分,理论课程3学分,实验0.5学分。实验成绩体现在:1.实验程序完成之后的检查。2.实验报告(格式,每人按时交,16周交完报告)。3.随堂测试(13周-15周,时间不定)。课程使用编程语言:VisualC++或TC,需要同学们自己再重温一下C语言课本,特别要注意函数调用、指针、结构体部分的内容。实验一线性顺序表的插入删除(8课时)-教

2、材实验1实验目的:学习线性顺序表的建立与各个操作以及编程语言的熟练掌握。实验内容:一、线性顺序表1:函数调用方式实现建立线性表及线性表的各项功能typedefstructList{ETalist[MaxSize];intsize;};//一旦定义一个structList这样的数据结构名称与类型,那么在你的程序里,structList就象int一样的意义了typedefcharET;//定义一个宏,用ET代表数据类型char,这样若要改变数据类型,只需改动这一个地方就可以了。实现七个函数:1)置空表:voidsetnull(structList*p)2)求长度:

3、intlength(structList*p)3)取表中第i个结点:ETget(structList*p,inti)4)按值查找:intlocate(structList*p,ETx)5)插入结点:voidinsert(structList*p,inti,ETx)6)删除结点:voiddelete(structList*p,inti)7)显示链表:voiddisplay(structList*p)这样可以直接调用这七个函数来实现顺序表的操作,如实现在屏幕上显示如下内容:(就是说,每个动作都应该在屏幕上有提示)我的顺序表为:d->e->a->c->a->b值为a

4、在表中的位置为:3位置4的值为:c删除第二个结点后顺序表:d->a->c->a->b删除第二个结点后顺序表:d->c->a->b删除第1个结点后顺序表:c->a->b删除第1个结点后顺序表:a->b实验二线性链表(8课时)-教材实验2实验目的:学习线性链表的数据结构与算法实现,继续学习编程,重点掌握单链表、循环单链表的数据结构的建立与各种操作的实现,学习双链表的建立方法。实验内容:一、链表的建立与操作1:和实验一中的线性顺序表的同样方法,用函数调用方式实现建立线性链表及线性链表的各项功能链表的数据格式:structSNode{ETdata;structSNod

5、e*next;};定义链表的每一个结点:structSNode*s;structSNode*s,*q;s=(structSNode*)malloc(sizeof(structSNode));s->data=x;q->next=s;实现七个函数:1)置空表:voidsetnull(structSNode**p)2)求长度:intlength(structSNode**p)3)取表中第i个结点:ETget(structSNode**p,inti)4)按值查找:intlocate(structSNode**p,ETx)5)插入结点:voidinsert(struct

6、SNode**p,inti,ETx)voidinsert(structSNode**p,ETx,inti){intj=1;structSNode*s,*q;s=(structSNode*)malloc(sizeof(structSNode));s->data=x;q=*p;if(i==1){s->next=q;*p=s;}else{while(jnext!=NULL){q=q->next;j++;}if(j==i-1){s->next=q->next;q->next=s;}}printf("notexist!");}6)删除结点:voidde

7、lete(structSNode**p,inti)7)显示链表:voiddisplay(structSNode**p)这样可以直接调用这七个函数来实现链表的操作,如同线性顺序表的d->e->a->c->a->b一样。实验三求解迷宫问题(8课时)――教材实验3一、实验目的:巩固队列、栈的数据结构形式,掌握其在程序设计中的具体应用;通过迷宫问题的分析,进一步了解程序设计的基本方法,提高解决实际问题的能力。二、实验内容:耗子走迷宫的古典问题,要求用队列的存储方式、堆栈的存储方式分别实现程序。首先,用二维数组来表示迷宫,其元素值只有两个入口00011000100001

8、0011101101010101101

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。