实验三队列实验报告Word文档格式.docx
- 文档编号:17457449
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:13
- 大小:69.37KB
实验三队列实验报告Word文档格式.docx
《实验三队列实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验三队列实验报告Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
1.问题分析
本程序要求实现建立含有若干个元素的循环队列,并实现循环队列的入队和出队操作。
完成该实验需要以下4个子任务:
定义一个循环队列的存储结构,定义队列的基本算法。
定义一个display()函数实现队列元素的输出看入队是否成功
通过队列的基本算法实现队列的出队操作
在主函数中完成操作
测试数据设计如下:
12345
6
2.概要设计
为了实现上述程序功能,需要:
声明一个循环队列
定义出队列的基本算法,
通过键盘输入5个整数,入队,出队
在主函数中先往队列里输入5个元素,然后入队,输出,看入队是否成功,然后出队,再调用display()函数看是否出队。
1)本程序包含7个函数:
1主函数main()
2.置空队:
InitQueue()
3.判对空:
QueueEmpty()
4.判队满:
QueueFull()
5.入队:
Add()
6.出队:
Delete()
()
各函数关系如下:
InitQueue()
QueueEmpty()
Main()QueueFull()
Add()Main
Delete()
display()
3、详细设计
实现概要设计中定义的所有的数据类型,对每个操作给出了算法和代码,主程序和模块都需要代码。
(1)循环队列
#definemaxlen10
typedefstruct{
intdata[maxlen];
intfront;
intrear;
}SeqQueue;
(2)队列基本算法
SeqQueue*InitQueue(SeqQueue*q)
题分析
本程序要求实现建立含有若干个元素的链队列,并实现链队列入队和出队操作。
定义一个链队列的存储结构,定义链队列的基本算法。
声明一个链队列
定义出链队列的基本算法,
2)本程序包含6个函数:
4.入队:
5.出队:
SetQueue()
Main()Add()
Delete()
4、详细设计
(1)链队列
typedefstructnode{
intdata;
structnode*next;
}LinkList;
LinkList*front,*rear;
}LinkQueue;
LinkQueue*q;
LinkQueue*SetQueue()
定义一个print()函数实现程序
在主函数调用print()函数看是否出队。
3)本程序包含8个函数:
8.GetHead()
GetHead()
print()
5、详细设计
chardata[maxlen];
SeqQueue*InitQueue(SeqQueue*q)//建立一个空循环队列
{
q=(SeqQueue*)malloc(sizeof(SeqQueue));
q->
front=0;
rear=0;
returnq;
}
intQueueFull(SeqQueue*q){//判断队列是否为满
if(q->
front==(q->
rear+1)%maxlen)
return1;
elsereturn0;
intQueueEmpty(SeqQueue*q){//判断队列是否为空
rear==q->
front)
charGetHead(SeqQueue*q){//取栈顶元素
if(!
QueueEmpty(q))
returnq->
data[(q->
front+1)%maxlen];
elseprintf("
queueEmpty"
);
voidAdd(SeqQueue*q,charx)//入队
QueueFull(q)){
q->
rear=(q->
rear+1)%maxlen;
data[q->
rear]=x;
}elseprintf("
queuefull"
voidDelete(SeqQueue*q){//出队
if(!
front=(q->
front+1)%maxlen;
elseprintf("
(3)用print()函数验证程序
voidprint(SeqQueue*q)
charx,y,t;
x='
e'
;
y='
c'
Add(q,'
h'
r'
Add(q,y);
x=GetHead(q);
Delete(q);
Add(q,x);
a'
while(QueueEmpty(q)==0){
y=GetHead(q);
Delete(q);
printf("
%c"
y);
}
printf("
x);
(4)在主函数中调用print()函数验证程序
intmain()
SeqQueue*q;
q=InitQueue(q);
print(q);
return0;
4、调试分析
编译无错误
5、用户使用说明
程序名为,在DEBUG文件夹里面。
运行环境Visualc++。
6、测试结果
7、附录
#include<
>
#definemaxlen10
chardata[maxlen];
intfront;
intrear;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 队列 报告