环形队列设计思路

2023-11-06

环形队列设计思路

一、数据结构

数据存储在一段连续的内存空间。

通过写位置、读位置来控制数据的输入输出。

在这里插入图片描述

二、数据操作

1、判断空逻辑

写位置 == 读位置
在这里插入图片描述

2、判断满逻辑

(写位置+1) % MAX_SIZE == 读位置

在这里插入图片描述
在这里插入图片描述

3、写数据逻辑

  1. 判断数据不满;
  2. 在当前写位置写数据;
  3. 更新写位置:(写位置+1) %MAX_SIZE

4、读数据逻辑

  1. 判断数据不空;
  2. 读取当前读位置数据;
  3. 更新读位置:(读位置+1)%MAX_SIZE;

三、参考文献

环形队列的实现原理

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

环形队列设计思路 的相关文章

  • 《数据结构题集》求k阶斐波那契序列的第m项值的函数算法

    这个属于学习笔记一篇 刚看到这个题的时候 花了好半天时间 才搞明白题目到底是啥意思 原来我之前接触的斐波那契数列都是2阶的 有了思路之后就开始动手操作 经过我的验证 2阶的前14项的运算结果与百度百科上的一致 5阶前10项与我手动计算结果一
  • tp5下,保存公众号access_token

    在开发公众号的时候 免不了要用到公众号的接口 基于接口 它是需要access token做基础的 而access token它的有效期是有限定的 所以在获取到access token的时候要注意保存 1 在控制器中建一个方法 专门用来保存a

随机推荐

  • Mybatis中"if else"的写法

    在SSM框架中编写mapper xml的时候 需要对数据库进行操作 在对数据库操作的时候有时会遇到需要判断字段内容的情况 如果只需要判断字段满足某个条件 那么直接使用
  • 飞行棋游戏代码(C#)

    220224飞行器v1 0 using System namespace AeroplaneChess class Program 地图 static int Maps new int 100 玩家A B坐标 static int play
  • 良好的Java编程风格

    良好的Java编程风格 正确的注释和注释风格 使用文档注释来注释整个类或整个方法 如果注释方法中的某一个步骤 使用单行或多行注释 正确的缩进和空白 使用一次 tab 操作 实现缩进 运算符两边习惯性各加一个空格 比如 2 4 5 块的风格
  • Qt 关闭窗口时循环依旧运行的解决办法

    在Qt中 经常碰到关闭窗口之后 程序中的循环依旧运行 查资料知道跟线程和进程有关系 比较麻烦 以后再慢慢看线程和进程知识 今天想到一个比较偷懒的方法 具体方法如下 部分代码 1 在类中设立判断循环的标志 isLooopFlag 以及槽函数s
  • 学习笔记-正则表达式

    https www runoob com regexp regexp tutorial html 正则表达式re Regular Expression 是一种文本模式 包括普通字符 例如 a 到 z 之间的字母 和特殊字符 称为 元字符 可
  • CSerialPort教程4.3.x (1) - CSerialPort项目简介

    CSerialPort教程4 3 x 1 CSerialPort项目简介 前言 CSerialPort项目是一个基于C C 的轻量级开源跨平台串口类库 可以轻松实现跨平台多操作系统的串口读写 同时还支持C Java Python Node
  • npm yarn pnpm命令

    命令对比 命令 npm yarn pnpm 安装 install add add 安装到dependencies save 默认 默认 安装到devDependencies D save dev D dev D save dev 安装到op
  • OpenCV-Python快速入门(十四):模板匹配

    OpenCV Python快速入门 十四 模板匹配 前言 前提条件 实验环境 模板匹配 cv2 matchTemplate 匹配单个结果 匹配多个结果 参考文献 前言 本文是个人快速入门OpenCV Python的电子笔记 由于水平有限 难
  • 【C语言】C语言 atoi 函数解析

    个人主页 简 料 所属专栏 C语言 个人社区 越努力越幸运社区 简 介 简料简料 简单有料 在校大学生一枚 专注C C GO的干货分享 立志成为您的好帮手 C C 学习路线 点击解锁 C语言 初阶数据结构与算法 C 高阶数据结构 Linux
  • 万劫不复之地-云原生可观测性的几大误区

    传统监控厂商正把可观测性引入万劫不复之地 可观测性是当前讨论非常多的话题 这个理念由来已久 却在最近开始流行 在20世纪60年代 该理念首次由Rudolf E Kalman在其论文中提出 论文题目是 on a general theory
  • Python中range()函数的用法

    先列几个range 函数的几个用法 函数原型 range start end scan 参数含义 start 计数从start开始 默认是从0开始 例如range 5 等价于range 0 5 end 技术到end结束 但不包括end 例如
  • 配置环境变量后,mysql依旧提示“'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件”

    在启动菜单搜索 cmd 搜索到后不要点击运行 右击选择以管理员的身份运行 之后输入mysql u 用户名 p 密码 就可以了 在此输入 cmd 找到 命令提示符 右击选择 以管理员的身份运行 之后正常操作就可以了 ps 此外如果之前操作没问
  • Docker安装使用记录

    Docker使用 Docker简介 Docker 架构 Docker安装 Docker CE 镜像源站 使用官方安装脚本自动安装 仅适用于公网环境 手动安装帮助 阿里云ECS可以通过内网安装 见注释部分内容 Ubuntu 14 04 16
  • Linux笔记:命令进阶使用相关功能

    文章目录 目的 通配符 转义符 流程控制 管道符 重定向 环境变量 总结 目的 使用linux时用户可以通过一个又一个的命令来完成各种操作 除了基础的各个命令外linux还提供了各种便利的功能来协调使用这些命令 这些功能让用户在使用linu
  • jenkins 持续集成/项目部署

    前置操作可查阅 docker 安装 jenkins https xijia blog csdn net article details 127021367 spm 1001 2014 3001 5502 win安装及 jenkins 前置配
  • C5.0决策树算法及性能提升

    C5 0算法是基于C4 5开发的新版本 它能适用于很多类型的问题 同神经网络 支持向量机等复杂算法相比 它几乎可以表现地一样优秀 并且更容易理解和部署 这里我们将用UCI机器学习网站http archive ics uci edu ml i
  • GPIO使用教程(学习笔记)

    目录 前言 一 GPIO简介 1 1GPIO框图讲解 二 需驱动的寄存器 2 1时钟 2 2总线 2 3时钟配置 2 4寄存器配置 三 编程环境搭建 3 1完整程序 四 小结 前言 本文主要讲解如何驱动GPIO外设的相应寄存器搭建GPIO的
  • MyBatis 学习笔记:Java 中的数据持久化框架

    MyBatis 学习笔记 Java 中的数据持久化框架 数据持久化是大多数应用程序的关键需求之一 在 Java 开发中 MyBatis 是一个流行的数据持久化框架 它提供了一种简单而强大的方式来管理数据库访问 本文将介绍 MyBatis 的
  • 出门旅行懂链改这些问题都好解决

    每到旅游热潮结束后 各大平台都会纷纷晒出出游 成绩单 国内很多人都是 报复式出游 各大景区都是人山人海 有些人旅游是为了修身养性 放松身心 有些人是为了观赏大自然风光 享受一场视觉盛宴 有些人是为了探索未知事物 追求一种差异化 个性化的旅游
  • 环形队列设计思路

    环形队列设计思路 一 数据结构 数据存储在一段连续的内存空间 通过写位置 读位置来控制数据的输入输出 二 数据操作 1 判断空逻辑 写位置 读位置 2 判断满逻辑 写位置 1 MAX SIZE 读位置 3 写数据逻辑 判断数据不满 在当前写