1 / 15
文档名称:

实验三队列实验报告.doc

格式:doc   大小:69KB   页数:15页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验三队列实验报告.doc

上传人:2982835315 2022/7/9 文件大小:69 KB

下载得到文件列表

实验三队列实验报告.doc

相关文档

文档介绍

文档介绍:. .
优选
计算机科学与技术系
实 验 报 告
专业名称 计算机科学与技术
课程名称 数据构造与算法
工程名称实验三队列实验
入队是否成功,然后出队,再调用display〔〕函数看是否出队。
. .
优选
int main()
{
SeqQueue *q;
int i,y;
q=InitQueue(q); //建立空循环队列
printf("请输入5个元素");
for(i=0;i<5;i++) //入队5个元素
{
scanf("%d",&y);
Add(q,y);
}
display(q); //输出循环队列元素
for(i=0;i<5;i++) //把5个元素出队
{
Delete(q);
}
printf("\n请输入1个元素");
scanf("%d",&y); //再入队一个元素
Add(q,y);
display(q); //再输出循环队列元素
return 0;
}
4、调试分析
编译无错误
5、用户使用说明
,在DEBUG文件夹里面。运行环境Visual c++ 。
6、测试结果
7、附录
*include <>
*include <>
*define maxlen 10
typedef struct{
int data [maxlen];
int front;
int rear;
}SeqQueue;
SeqQueue *InitQueue(SeqQueue *q) //建立一个空循环队列
{
q=(SeqQueue *)malloc(sizeof (SeqQueue));
q->front=0;
q->rear=0;
return q;
}
int QueueFull (SeqQueue *q){ //判断队列是否为满
. .
优选
if (q->front==(q->rear+1)%maxlen)
return 1;
else return 0;
}
int QueueEmpty(SeqQueue *q){ //判断队列是否为空
if (q->rear==q->front)
return 1;
else return 0;
}
void Add (SeqQueue *q,int x) //入队
{
if(!QueueFull(q)){
q->rear=(q->rear+1)%maxlen;
q->data[q->rear]=x;
}else printf ("queue full");
}
void Delete(SeqQueue *q){ //出队
if (!QueueEmpty(q))
q->front=(q->front+1)%maxlen;
else printf ("queue Empty");
}
void display(SeqQueue *q) //输出循环队列q的元素
{
int i;
if(q->front!=q->rear) //循环队列非空,输出队列元素
{
printf("输出循环队列元素:");
i=q->front;
do
{
i=(i+1)%maxlen;
printf("%d",q->data[i]);
}while(i!=q->rear);
}
else
printf("队列为空!");
}
int main()
{
SeqQueue *q;
int i,y;
q=InitQueue(q); //建立空循环队列
printf("请输入5个元素");
for(i=0;i<5;i++) //入队5个元素
. .
优选
{
scanf("%d",&y);
Add(q,y);
}
display(q); //输出循环队列元素
for(i=0;i<5;i++) //把5个元素出队
{
Dele