中国石油大学数据结构上机实验4文档格式.docx
- 文档编号:21065731
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:12
- 大小:58.61KB
中国石油大学数据结构上机实验4文档格式.docx
《中国石油大学数据结构上机实验4文档格式.docx》由会员分享,可在线阅读,更多相关《中国石油大学数据结构上机实验4文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
1.初始化一个空的循环队列
2.实现入队操作
3.实现出对操作
4.输出队列中全部元素
5.实现销毁队列操作
(二)总体设计
此处给出主要函数功能、及函数间调用关系的的描述。
例如:
①初始化空的循环队列函数②创建一个队函数③入队函数④出队函数⑤计算队中元素个数函数⑥输出函数⑦销毁函数⑧主函数
其功能描述如下:
(1)主函数:
统筹调用各个函数以实现相应功能
voidmain()
(2)①初始化一个空的循环队列函数
StatusInitQueue(SqQueue&
Q)
{
system("
cls"
);
Q.base=(QElemType*)malloc(MAXSIZE*sizeof(QElemType));
if(!
Q.base)exit(OVERFLOW);
//存储分配失败
Q.front=Q.rear=0;
printf("
成功!
\n\n"
returnOK;
}
②创建一个队函数
StatusCreateQueue(SqQueue&
intn;
请输入循环队列长度:
"
scanf("
%d"
&
n);
for(inti=1;
i<
=n;
i++)
第%d个元素为:
i);
Q.base[Q.rear]);
Q.rear=(Q.rear+1)%MAXSIZE;
成功\n\n"
③入队函数
StatusEnQueue(SqQueue&
Q,QElemTypee)
//入队操作,插入e为新的队尾元素
if((Q.rear+1)%MAXSIZE==Q.front)returnERROR;
//队列满
Q.base[Q.rear]=e;
④出队函数
StatusDeQueue(SqQueue&
//出队操作,若队列不空,则删除Q的队头元素,并输出删除元素的值
QElemTypee;
if(Q.front==Q.rear)returnERROR;
//否则返回error
e=Q.base[Q.front];
Q.front=(Q.front+1)%MAXSIZE;
出队元素是:
%d\n"
e);
⑤计算队中元素个数函数
StatusQueueLength(SqQueueQ)
//计算队中元素个数
return(Q.rear-Q.front+MAXSIZE)%MAXSIZE;
⑥输出函数
StatusPrintQueue(SqQueueQ)
//输出队
循环队列为:
:
inti,n;
n=QueueLength(Q);
for(i=1;
i<
i++)
{
%d"
Q.base[Q.front]);
⑦销毁队函数
StatusDestroyQueue(SqQueue&
//销毁队Q
{
free(Q.base);
销毁队成功\n\n"
}
四、实验测试结果及结果分析
(一)测试结果(此处给出程序运行截图)
(二)结果分析成功完成了题目所要求入队,出队等基本操作。
五、实验总结
附录实验程序代码(该部分请加注释)
#include"
stdio.h"
stdlib.h"
malloc.h"
#defineMAXSIZE100//存储空间初始分配量,最大队列长度
#defineOVERFLOW-2
#defineOK1
#defineERROR0
typedefintQElemType;
typedefintStatus;
typedefstruct
QElemType*base;
//初始化的动态分配存储空间
intfront;
//头指针,若队列不空,指向队列头元素
intrear;
//尾指针,若队列不空,指向队尾元素的下一个位置
}SqQueue;
//初始化一个空的循环队列
//创建一个队
出对元素是:
voidmainmenu()//输出菜单,供用户进行操作选择
\n菜单"
\n**************************\n\n"
*1.初始化循环队列*\n"
*2.创建队*\n"
*3.入队操作*\n"
*4.出队操作*\n"
*5.输出队*\n"
*6.销毁队*\n"
*0.退出*\n"
\n***************************\n"
voidmain()//主函数
intchoose,e;
SqQueueQ;
while
(1)
mainmenu();
\n请输入你的选择:
choose);
switch(choose)
case1:
//在此插入初始化循环队列函数
InitQueue(Q);
PAUSE"
break;
case2:
//在此插入创建循环队列函数
CreateQueue(Q);
case3:
//入队,在此调用入队函数
请输入进栈元素:
&
e);
EnQueue(Q,e);
case4:
//出队,在此调用出队操作函数
DeQueue(Q);
case5:
//输出队,在此插入调用输出队函数
PrintQueue(Q);
case6:
//销毁,在此调用销毁队函数
DestroyQueue(Q);
case0:
//退出
exit(0);
default:
//输入非法,提示用户重新输入
\n输入错误,重新输入!
\n"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中国 石油大学 数据结构 上机 实验