数据结构_队列(queue)

队列是一种遵循先进先出(FIFO)原则的数据结构,类似于现实生活中的排队。它使用头指针front和尾指针rear来管理元素,常用于操作系统等场景。顺序队列是队列的一种实现方式。
摘要由CSDN通过智能技术生成

队列:就是生活中的排队,因此排队是先到先得,也是先离开队伍,因此队列也是采用的先进先出的概念(FIFO,慢慢想想操作系统里面是不是也用到FIFO,自己去查吧 到底有没有)。如何能够准确的定位是先进先出呢,因此采用的就是头指针front和尾指针rear,通常这两个指针是封装成一个链队;注意front与rear是节点的数据类型哦~~~~~~

先来看看顺序队列吧:

<span style="font-size:12px;">#define MAXSIZE
typedef  struct
{
   DataType  data[MAXSIZE];
   int front, rear;
}Sequeue;
//定义一个指向队列的指针变量,并申请存储空间
Sequeue  * sq = new Sequeue;
//队列的数据区域
sq->data[0] ~ sq->data[MAXSIZE - 1];
//为空队时:
sq->front = sq->rear = -1;
//入队操作
sq->rear++;
sq->data[sq->rear] = x;
//出队操作
sq->front++;
x = sq->data[sq->front]</span>
但是上面的这种会出现一种现象,就是当一个队列又有出队又有入队时,出了队的存储空间不能再次作为入队所需的存储空间,这种就是本来对没有满,但是不能继续入队,这种现象就称为
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值