数据结构5队列的实现
贵州大学实验报告
学院:计信学院 专业:网络工程 班级
姓名
学号
实验组
实验时间
2011-12-2
指导教师
肖源源
成绩
实验项目名称
实验五:队列的实现
实验目的
1.掌握队列的思想及其存储实现。
2.掌握队列的常见算法的程序实现。
实验仪器
PC机,C++软件
实验步骤
#include
#define MAXSIZE 100
typedef struct seqqueue
...
贵州大学实验
学院:计信学院 专业:网络工程 班级
姓名
学号
实验组
实验时间
2011-12-2
指导教师
肖源源
成绩
实验项目名称
实验五:队列的实现
实验目的
1.掌握队列的思想及其存储实现。
2.掌握队列的常见算法的程序实现。
实验仪器
PC机,C++软件
实验步骤
#include
#define MAXSIZE 100
typedef struct seqqueue
{
int data[MAXSIZE];
int front;
int rear;
}seqqueue;
void Initseqqueue(seqqueue &q) //循环队列初始化
{
q.front =q.rear=0;
printf("初始化成功!\n");
}
int enqueue(seqqueue &q,int e) //数据元素e入队列
{
if((q.rear+1)%MAXSIZE==q.front)
{
printf("循环队列满!\n");
return 0;
}
else
{
q.data[q.rear]=e;
q.rear=(q.rear+1)%MAXSIZE;
printf("%d入队列成功!\n",e);
return 1;
}
}
int isemptyqueue(seqqueue &q) //判断循环队列是否为空
{
if(q.rear ==q.front )
{
printf(" 空队列!\n");
return 1;
}
else
{
printf("非空队列!\n");
return 0;
}
}
int dequeue(seqqueue &q,int &e) //数据元素出队列,出队列元素暂存储于e中
{
if(!isemptyqueue(q))
{
e=q.data [q.front ];
q.front =(q.front +1)%MAXSIZE;
printf("出队列成功!\n");
return 1;
}
else
{
printf("出队列失败!\n");
return 0;
}
}
void main()
{
int x=0;
seqqueue qa;
Initseqqueue(qa);
isemptyqueue(qa);
dequeue(qa,x);
enqueue(qa,25);
isemptyqueue(qa);
dequeue(qa,x);
}
实验内容
1.采用链式存储实现队列的初始化、入队、出队操作。
2.采用顺序存储实现循环队列的初始化、入队、出队操作。
3.在主函数中设计一个简单的菜单,分别测试上述算法。
实验数据
实验总结
考虑到栈的先进后出以及队列的后进先出,可以结合这两种结构来实现需要的功能,即将文字分别入队和入栈,然后依次通过出队和出栈输出判断是否有不相同的字符。
指导教师意见
签名: 年 月 日
注:各学院可根据教学需要对以上栏木进行增减。表格内容可根据内容扩充。
本文档为【数据结构5队列的实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。