欢迎来到天天文库
浏览记录
ID:11409446
大小:779.50 KB
页数:53页
时间:2018-07-11
《《数据结构》(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
此文档下载收益归作者所有