- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C队列实现和队伍简介
C++
C++
CC++++队列实现和队列简介(2006-8-23 17:27:00)
【收藏】 【评论】 【打印】 【关闭】
标签:数据结构 C++ 队列
队列简介:
队列(Queue)是一种数据结构,可以在队列的一端插入元素而在队列的另一端删除元素。
Front
Front
( 1 )允许删除的一端称为 队头(FFrroonntt )。
Rear
Rear
( 2 )允许插入的一端称为 队尾(RReeaarr )。
( 3 )当队列中没有元素时称为 空队列。
FIFO
FIFO
( 4 )队列亦称作先进先出( FirstIn FirstOut )的线性表,简称为 FFIIFFOO 表。
队列的修改是依先进先出的原则进行的。新来的成员总是加入队尾(即不允许 加塞 ),每次离开的成
员总是队列头上的(不允许中途离队),即当前 最老的 成员离队。
多任务系统是一个典型的队列示例,在其中完成作业的调度。假设有五个程序等待执行, 它们将被放入一
个队列,如果有第六个程序要执行,它将被放在队列的末尾。队列中首位的程序首先执行。
队列实现:
/*
(1)initQueue(Q)
置空队。构造一个空队列Q。
(2)isEmpty(Q)
判断队列是否空。若队列Q为空,则返回真值,否则返回假值。
(3)isFull(Q)
判断队列是否以满, 以满返回true, 没满则返回flase
(4) addQueue(Q,x)
若队列Q非满,则将元素x 插入Q的队尾。此操作简称 入队 。
(5) DelQueue(Q)
若队列Q非空,则删去Q的队头元素,并返回该元素。此操作简称 出队 。
(6) queueFront(Q)
若队列Q非空,则返回队头元素,但不改变队列Q的状态。
(7) queueDisplay(Q)
显示队列中的元素。
*/
#includeiostream.h
#definemaxSize10 // 存储数据大小, 可以随便设定值
structQueue
{
intdata[maxSize];
intfront; // 队首
intrear; // 队尾
};
voidinitQueue(QueueQ);
boolisEmpty(QueueQ);
boolisFull(QueueQ);
booladdQueue(QueueQ,intx);
booldelQueue(QueueQ);
intqueueFront(QueueQ);
boolqueueDisplay(QueueQ );
intmain(void)
{
inti;
intnum;
QueueQ;
initQueue(Q); // 初始化队列
cout 10 endl;
输入入队 个数
/* 入队 */
for(i=0;i10;i++)
{
cinnum;
if(addQueue(Q,num)== false )
{
cout队列以满! endl;
}
}
cout队头:queueFront(Q) endl;// 显示队头
cout队列所有元素:endl;
if(queueDisplay( Q)== false ) // 显示队列所有元素
{
cout 队列为空!endl;
}
/* 出队 */
for(i=0;i5;i++)
{
if(delQueue(Q)==false )
{
cout队列以空 endl;
}
}
coutendl;
coutendl;
cout================== 出队以后 =================
文档评论(0)