数组充当队列

数组充当队列

队列简介:队列就是一个先入队就先出队的链性表,
有固定的入口(队尾),也有固定的出口(队头)。

数组充当队列的原因
1.队列只有两个口,出入不方便。
2.先进先出,如果数字或字符出队后再进队,原队列的排序会被打乱。
3.队列没有二维的

具体操作
1.定义一个数组q[m],充当队列,此时m-1为队列上限(从1开始记)
2.定义两个变量,head,tail作为队头,队尾,则head++为出队,tail++为入队。

假溢出
这里举一个假溢出的示意处。意思是要执行入队操作。却已经达到上限,但队列并没有满。

解决
使数组到 ‘m-1’ 位时再从 ‘1’ 位入队,我们称其为循环队

举个栗子 例子

tail++;
if(tail==n+1)
{
	tail=0;
	q[tail++]=x;
}
if(tail==head)
{
	break;
}

在这里插入图片描述

具体操作(承上2点):
3.循环:

int n;
int head=0,tail=1int q[n];
while(head<tail)
{
	head++;
	if(不满足题目条件)//当然这里也可以写满足题目条件
	continue;
	满足题目后的操作;
}
发布了5 篇原创文章 · 获赞 6 · 访问量 2677
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览