循环队列求元素个数为什么为(rear-front+maxSize)%maxSize?

声明:文章思路来自*@if now*《数组实现环形队列-获取有效数据个数》

必须理解的辅助算法:

问题:怎么求x号盒子之前有多少个盒子?
解法:用x号减去最前面的盒子编号。

-------------------------------- 分界线-------------------------------------------

正文:

A:思路:上方元素+下方元素
B:步骤:
1.求出front盒子之前的盒子 (front)
2.用所有的盒子减去front之前的盒子求得上方所有的元素(maxsize-front)
3.在求出下方有元素的盒子 (rear)
4.加上第二步求出的上方盒子,及总元素。 (rear+maxsize-front)

C:结果
(rear+maxsize-front)

D:步骤图:


循环队列求元素个数为什么为(rear-front+maxSize)%maxSize?相关推荐

  1. 数据结构专题(二):2.2单链表与顺序表,求元素个数,取值与查找

    先了解一下头结点: 头结点本身并不存在链表里面的元素信息,我们用头结点的目的是方便以后将所有元素全部找起来. 如下代码分别对应求个数,取值,查找 注意:取值的函数第二个参数是位置 查找的函数第二个参数 ...

  2. 数据结构专题(一):1.2.求元素个数,取元素与定位

    如下代码:求数组长度 int GetSizeSeq(SequenList *pList) {return pList->last; //最后只需知道last的值就好 } 进行数组中元素的读取和查 ...

  3. (图解)循环队列的三种判断队空、队满操作(附带源码和插入删除操作等一些基本操作)

    目录 一.普通的顺序存储队列 二.循环队列 (1)少用一个元素空间 i.初始化队列操作: iii.入队操作: iv.出队操作: (2)设置flag标志 i.初始化队列操作: ii.判断队空操作: ii ...

  4. 数据结构与算法之循环队列的操作

    数据结构与算法之循环队列的操作 /* 循环队列的入队和出队算法设计 初始化循环队列 .打印队列.插入元素到循环队列.获取循环队列的首元素,元素不出队.出队.获取循环队列元素个数.判断循环队列的空和满. ...

  5. 【数据结构】顺序循环队列及其实现(C语言)

    给定一个大小为MAXSIZE的数组储存一个队列,经过若干次的插入和删除以后,当队尾指针 rear = MAXSIZE 时,呈现队列满的状态,而事实上数组的前部可能还有空闲的位置.为了有效地利用空间,引 ...

  6. 循环队列(循环数组)中元素个数的计算

    队列头指针为front,队列尾指针为rear(指向队尾元素),after_rear为队尾元素的后一位置(按顺时针方向),队列容量为maxsize 如果用 front == rear 来表示队列为空,也 ...

  7. 队列及循环队列为什么用空一个元素的位置

    队列,循环队列为什么用空一个元素的位置  本篇笔记是我在B站上跟着尚硅谷教程进行学习,记录的学习笔记,在学习中产生了疑问,并通过查找资料解决了相关问题. 队列介绍 1)队列是一个有序列表,可以用数组或 ...

  8. c语言行列倒置算法,循环行列的元素倒置。求指点

    循环队列的元素倒置.求指点. 本帖最后由 whdugh 于 2013-01-30 12:29:48 编辑 编写一个算法,将一个循环队列(容量为n,元素下标从1~n)的元素倒置. /* 算法思想: 使用 ...

  9. 问题:循环元素,被选中元素个数,全选

    一段时间不写js都有点忘记了,这里看几个常见的js,涉及到循环,计算元素个数,checkbox选中等问题,首先是html元素 <div class="content border p0 ...

  10. 【C++】多线程(链式、循环队列)实现生产者消费者模式

    生产者消费者模式:         生产者消费者问题(英语:Producer-consumer problem),也称有限缓冲问题(英语:Bounded-buffer problem),是一个多线程同 ...

最新文章

  1. php中input的使用,php输入流php://input如何使用
  2. 苹果手机怎么设置时间24小时制_8款手机电池测试,iPhone 12 5G让人意外
  3. UA MATH563 概率论的数学基础 中心极限定理15 Kolmogorov 0-1律
  4. CentOS6在使用yum install 时提示镜像源路径不存在:PYCURL ERROR 22 - “The requested URL returned error: 404 Not Found
  5. Scikit-Learn 机器学习笔记 -- SVM
  6. avue里面的select怎么设置默认值_mysql大量的waiting for table level lock怎么办
  7. 了解第三方授权OAuth
  8. js datagrid 移动去重
  9. Q117:PBRT-V3反射模型(Reflection Models)笔记
  10. windows 系统配置多网关win添加静态路由
  11. 在url中传递参数(方法二)
  12. Python 操作 DB2 库_亲测可用
  13. 计算机中常用的声音编辑工具有哪些,电脑常用音频剪辑软件
  14. Android获取本地IP
  15. 所爱隔山海,山海皆可平
  16. thinkphp6-学习记录-应用手册
  17. 周星驰搞笑电影中的BT角色大全(100位)
  18. PDF文件如何设置密码保护?
  19. ssm基于jsp的在线点餐系统 毕业设计源码111016
  20. 【EasyRL学习笔记】第八章 针对连续动作的深度Q网络

热门文章

  1. 数据分析模型有哪些?常见的这八种来了解一下!
  2. 如何计算CAN总线的负载率以及每帧耗时和每秒最多传输帧数
  3. python 自动解4399数独游戏
  4. hexo博客之yilia主题的个性化设置
  5. vue 生命周期activated与created使用
  6. 迅为stm32mp157开发板资料手册+实战教程+视频教程
  7. USYD悉尼大学DATA1002 详细作业解析Module3
  8. CheckPoint管理平台提示Certificate revoked
  9. python 还原九宫格图片_python生成九宫格图片
  10. 典型问题分析——三方应用网络异常分析方法