数组充当队列

数组充当队列

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

数组充当队列的原因
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;
	满足题目后的操作;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值