首页 > 其他分享 >循环队列的队空、队满、元素个数判断

循环队列的队空、队满、元素个数判断

时间:2022-10-27 11:23:24浏览次数:48  
标签:队空 队列 元素 个数 MaxSize 队满 front rear

front指向队头元素的前一个元素,raer指向队尾元素

(写题时,只是单说循环单链表的,默认就是这种)

判断空满

队空 :

 front  = rear;

入队:

rear = (rear+1)%MaxSize;

queue rear = x;

堆满时:

front  == (rear + 1 )%MaxSize;

 

 判断元素个数

在rear  >front 时

个数为 : rear - front

在rear < front 时

个数为:rear + 1 + MaxSize - front - 1 = rear - front + MaxSize

元素个数归纳为

个数为:(rear - front + MaxSize)%MaxSize

front指向队头元素,raer指向队尾元素的后一个元素

判断空满

队空 :

 front  = rear;

入队:

rear = (rear+1)%MaxSize;

queue rear = x;

堆满时:

留出一个位置区分堆满和队空状态

front  == (rear + 1 )%MaxSize;

 

 

 

 

 

 

 判断元素个数

同上

元素个数归纳为

个数为:(rear - front + MaxSize)%MaxSize

front指向队头元素,raer指向队尾元素

 

 

 

判断空满

队空 :

front  =(rear+1)%MaxSize;

入队:

rear = (rear+1)%MaxSize;

queue rear = x;

堆满时:

 

留出一个位置区分堆满和队空状态

front  == (rear + 2 )%MaxSize;

 

 

 

 

 判断元素个数

在rear  >front 时

个数为 : rear - front +1

在rear < front 时

个数为:rear + 1 + MaxSize - front 

元素个数归纳为

个数为:(rear - front +1 + MaxSize)%MaxSize

 

标签:队空,队列,元素,个数,MaxSize,队满,front,rear
From: https://www.cnblogs.com/kuailest/p/16831586.html

相关文章

  • 数据结构 玩转数据结构 3-8 数组队列和循环队列的比较
    0课程地址https://coding.imooc.com/lesson/207.html#mid=13425 1重点关注1.1数组队列和循环队列的比较循环队列出队的复杂度循环队列为O(1......
  • 数据结构 玩转数据结构 3-7 循环队列的实现
    0课程地址https://coding.imooc.com/lesson/207.html#mid=13424 1重点关注1.1循环队列代码实现(出队复杂度为O(1))见3.1 2课程内......
  • 【leetcode_C++_栈与队列_day9】232.用栈实现队列&&225. 用队列实现栈
    知识补充:栈与队列理论基础(C++)C++中stack是容器么?​ stack:堆栈栈是以底层容器完成其所有的工作,对外提供统一的接口,底层容器是可插拔的(也就是说我们可以控制使用哪种......
  • 栈和队列不分家
    写在前面对于我个人来说,我会把数据机构初阶分为三个台阶,今天谈的和之前谈的是一个阶段,后面的二叉树一个,排序一个.栈和队列也同样是我们后面模拟实现二叉树递归和广度遍......
  • 优先队列--著名的TopK问题(最小堆的使用)
    692. TopKFrequentWordsMedium77671FavoriteShareGivenanon-emptylistofwords,returnthe k mostfrequentelements.Youranswershouldbesortedbyfrequen......
  • 队列结构(Queue)
    队列结构(Queue)队列也是一种受限的线性表,他的特点是先进先出受限之处在于他只允许在表的前端(front)进行删除操作而在表的后端(rear)进行插入操作队列的常见操作:enqu......
  • 消息队列之RabbitMQ介绍与运用
    RabbitMQ说明本章,我们主要从RabbitMQ简介、RabbitMQ安装、RabbitMQ常用命令、RabbitMQ架构模式、RabbitMQ使用、Quick.RabbitMQPlus的使用和RabbitMQ总结这几个方面对R......
  • 队列
    4、队列队列(Queue)是只允许在一段插入另一端删除的线性表先进先出(FIFO)4.1、顺序队列队列定义和初始化#include<stdio.h>#include<stdlib.h>#defineMaxSize10......
  • 刷题 栈和队列3
    代码随想录LeetCode239. 滑动窗口最大值carl优先级队列#单调队列思路优先级队列解法:窗口移动过程中,不断将新元素加入优先级队列,如果最大值不在范围内,则弹出最大......
  • 我摊牌了!真正的灰度队列实现方案!全网你都搜不到!
    背景目前,公司方面RPC调用如Dubbo、Feign已经能支持基于灰度的调用,但是MQ还没有支持灰度的能力,因此导致在测试和生产环境业务验证、消息隔离方面体验比较差,因此我们......