欢迎来到天天文库
浏览记录
ID:59288485
大小:606.00 KB
页数:17页
时间:2020-09-06
《顺序队、链队实验报告.总结.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、重庆工商大学《数据结构》课程实验报告封面专业班级:12计算机一班学号:学生姓名:古应波实验室:10412实验题目:顺序队列、链队列的操作指导教师:梁新元成绩:日期:2013年10月日第6周星期3节次4-5评分表实验报告质量序号项目总分自评分互评分组长评分教师评分1算法思想22算法描述33实验数据与结果104总结45排版2源程序质量6正确性637友好性48可读性49健壮性410创新与多样性4合计总分评分人签字目录一、实验题目1二、实验目的1三、实验内容1四、实验要点与要求1五、算法思想1六、算法描述及流程图4七、实验数据及实验结果5八、
2、程序组成结构示意图5九、顺序队列调试截图6十、链队列调试截图8十一、顺序队列源代码9十二、链队列源代码12实验报告的内容与要求一、实验题目顺序队列、链队列的基本操作二、实验目的了解顺序队列、链队列的结构特点及有关概念,掌握其基本操作算法。三、实验内容实现顺序队列和链队列的初始化、进队、出队、销毁操作四、实验要点与要求1.处理的数据类型即ElemType的类型基本版要求:整型、字符型扩展版要求:字符串型(基础较好的同学)2.必须采用函数调用五、算法思想队列的特点是一端进,另一端出,由此需要定义队首指针和队尾指针,分别用于出队和进队的相关
3、操作boolInQuene(SqQuene*&q,ElemTyped)//入队元素{if(q->rear==MaxSize-1){cout<<"队满!"<rear++;q->data[q->rear]=d;returntrue;}判断队列为满的条件为队尾指针指向数组最大处,由于出队的方式所限,顺序队会出现假溢出的情况,为了解决这个问题,可以采用环队或者链队代替。链队算法如下boolInNode(SqNode*&n,ElemType&e){QNode*q;q=(QNode*)malloc(si
4、zeof(QNode));q->data=e;q->next=NULL;if(n->rear==NULL)n->front=n->rear=q;else{n->rear->next=q;n->rear=q;}cout<<"入队成功!"<5、,b,1,2,a,b测试成功,程序正确执行非法数据-11.5go-11.5go-1压栈成功.5丢失g压栈成功o丢失不符合程序预设的数据处理类型,程序执行,但是得不到期望的结果二、程序组成结构示意图一、顺序队列调试截图一、链队列调试截图一、顺序队列源代码//实现顺序队列的入队,出队,遍历操作//采用字符型储存数据,指针型引用做形参#include#include#defineMaxSize100usingnamespacestd;typedefcharElemType;typedefstructM6、yQuene{ElemTypedata[MaxSize];intfront;intrear;intcount;intno;}SqQuene;voidInit(SqQuene*&q);//初始化voidDestory(SqQuene*&q);//销毁队列boolInQuene(SqQuene*&q,ElemTyped);//入队boolOutQuene(SqQuene*&q,ElemType&d);//出队对首元素voidDispQuene(SqQuene*&q,ElemTyped);//列取当前队列所有元素voidSearch(SqQ7、uene*q,ElemTyped);//搜索元素voidInit(SqQuene*&q)//初始化队列{q=(SqQuene*)malloc(sizeof(SqQuene));q->front=q->rear=-1;q->count=-1;q->no=0;}voidDestory(SqQuene*&q)//销毁队列{free(q);}boolInQuene(SqQuene*&q,ElemTyped)//入队元素{if(q->rear==MaxSize-1){cout<<"队满!"<rear+8、+;q->data[q->rear]=d;returntrue;}boolOutQuene(SqQuene*&q,ElemType&d)//出队元素{if(q->front==q->rear)returnfalse;q-
5、,b,1,2,a,b测试成功,程序正确执行非法数据-11.5go-11.5go-1压栈成功.5丢失g压栈成功o丢失不符合程序预设的数据处理类型,程序执行,但是得不到期望的结果二、程序组成结构示意图一、顺序队列调试截图一、链队列调试截图一、顺序队列源代码//实现顺序队列的入队,出队,遍历操作//采用字符型储存数据,指针型引用做形参#include#include#defineMaxSize100usingnamespacestd;typedefcharElemType;typedefstructM
6、yQuene{ElemTypedata[MaxSize];intfront;intrear;intcount;intno;}SqQuene;voidInit(SqQuene*&q);//初始化voidDestory(SqQuene*&q);//销毁队列boolInQuene(SqQuene*&q,ElemTyped);//入队boolOutQuene(SqQuene*&q,ElemType&d);//出队对首元素voidDispQuene(SqQuene*&q,ElemTyped);//列取当前队列所有元素voidSearch(SqQ
7、uene*q,ElemTyped);//搜索元素voidInit(SqQuene*&q)//初始化队列{q=(SqQuene*)malloc(sizeof(SqQuene));q->front=q->rear=-1;q->count=-1;q->no=0;}voidDestory(SqQuene*&q)//销毁队列{free(q);}boolInQuene(SqQuene*&q,ElemTyped)//入队元素{if(q->rear==MaxSize-1){cout<<"队满!"<rear+
8、+;q->data[q->rear]=d;returntrue;}boolOutQuene(SqQuene*&q,ElemType&d)//出队元素{if(q->front==q->rear)returnfalse;q-
此文档下载收益归作者所有