《数据结构》(c语言)实验报告

《数据结构》(c语言)实验报告

ID:11409446

大小:779.50 KB

页数:53页

时间:2018-07-11

《数据结构》(c语言)实验报告_第1页
《数据结构》(c语言)实验报告_第2页
《数据结构》(c语言)实验报告_第3页
《数据结构》(c语言)实验报告_第4页
《数据结构》(c语言)实验报告_第5页
资源描述:

《《数据结构》(c语言)实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《数据结构》实验报告姓名:刘高学号:031041113成绩:_____53目录实验一,线性表的应用……………………………………3实验二,栈和队列的应用…………………………………8实验三,数组的应用………………………………………13实验四,树和二叉树的应用………………………………19实验五,图的应用…………………………………………24实验六,查找表的应用……………………………………32实验七,排序算法的应用…………………………………4453实验一线性表的应用【实验目的】1.熟练掌握线性表的基本操作在顺序存储和链式存储上的实现;2.以线性表的各种操作(建立、插入、删除、遍

2、历等)的实现为重点;3.掌握线性表的动态分配顺序存储结构的定义和基本实现;4.通过对本章实验帮助学生加深对C语言的使用(特别是函数参数调用、指针类型的应用和链表的建立等各种基本操作)。【实验内容】约瑟夫问题的实现:n只猴子要选猴王,所有猴子按1,2,…,n编号围坐一圈,从第1只开始按1,2,…,m报数,凡报到m号的猴子退出圈外,如此循环报数,直到圈内省剩下一只猴子时,这个猴子就是猴王。编写一个程序实现上述过程,n和m由键盘输入。【实验要求】1.要求用顺序表和链表分别实现约瑟夫问题;2.独立完成,严禁抄袭;3.上交的实验报告由如下部分组成:①实验名称②实验目的③实验内容

3、(问题描述,算法描述,程序清单,测试结果,算法分析)。53实验结果:一,源程序:#include#include#defineMaxsize80structSeqList{intdata[Maxsize];intlen;};typedefstructSeqListSeqList;voidInitList(SeqList*L){L=(SeqList*)malloc(sizeof(SeqList));L->len=0;}voidMadeList(SeqList*L){inti;53intpeople;printf("请输入参选的总数:

4、");scanf("%d",&people);for(i=0;idata[i]=i+1;printf("%d",L->data[i]);}printf("");L->len=people;}voidWentList(SeqList*L){intm,i,j;intk=0;printf("请输入出列数:");scanf("%d",&m);for(i=L->len;i>0;i--)53{k=(k+m-1)%i;printf("%d",L->data[k]);for(j=k;jdata[j]=L->data

5、[j+1];}L->len=L->len-1;}printf("");}voidmain(){SeqList*L;InitList(L);MadeList(L);WentList(L);}53二,运行结果及截屏视图:53实验二栈和列队的应用【实验目的】1.熟练掌握栈和列队的结构,以及这两种数据结构的特点;2.能够在两种存储结构上实现栈的基本运算,特别注意栈满和栈空时的判断条件和描述方法;3.熟练掌握链队列和循环列表的基本运算,特别注意队列满和队列空时的判断条件和描述方法。【实验内容】53表达式求值的实现:输入一个包含“+“、”-“、”*“、”/“、正整数和圆括号的

6、合法表达式,用算法优先法计算该表达式的结果。【实验要求】1.要求用栈实现表达式求值问题;2.独立完成,严禁抄袭;3.上交的实验报告由如下部分组成:①实验名称②实验目的③实验内容(问题描述,算法描述,程序清单,测试结果,算法分析)。实验结果:一,源程序:#defineDATATYPE1int#defineMAXSIZE100typedefstruct{DATATYPE1data[MAXSIZE];inttop;}SEQSTACK;#includevoidinitstack(SEQSTACK*s){s->top=0;}intpush(SEQSTACK*s

7、,DATATYPE1x){if(s->top==MAXSIZE-1){printf("栈满");return0;}else{s->top++;(s->data)[s->top]=x;return1;}}DATATYPE1pop(SEQSTACK*s){DATATYPE1x;53if(s->top==0){printf("栈空");x=0;}else{x=(s->data)[s->top];s->top--;}returnx;}DATATYPE1gettop(SEQSTACK*s){DATATYPE1x;if(s->top==0){printf

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

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

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