【每日OJ —— 622. 设计循环队列】

每日OJ ------ 622. 设计循环队列

1.题目:622. 设计循环队列

2.解法

1.本题有很多解法:可以使用数组,单链表,双链表,但是数组是相对链表来说比较简单的做法。
2.数组也有两种解法:
(1)可以定义size来实现循环队列判断为空和判断为满。
(2)可以定义k来取模%来实现循环队列判断为空和判断为满。

2.1.解法讲解

2.1.1.算法讲解

1.本题我们用数组的第二种解法,定义k来对循环队列判断为空,和判断为满,进行操作。
2.队列的创建(注意队列在创建时大小为k,即数组的size为k+1)
3.front指的是头指针,back为尾指针,但该尾指针是尾指针的下一个【下一次插入的位置】
4.队列为空时,front与back相同,队列为满时,back与front相减的绝对值为k)

2.1.2.代码实现
2.1.3.提交通过展示
相关推荐
小江的记录本1 小时前
【分布式】分布式核心组件——分布式ID生成:雪花算法、号段模式、美团Leaf、百度UidGenerator、时钟回拨解决方案
分布式·后端·算法·缓存·性能优化·架构·系统架构
励志的小陈8 小时前
数据结构--二叉树知识讲解
数据结构
CPUOS20108 小时前
嵌入式C语言高级编程之MVC设计模式
c语言·设计模式·mvc
jolimark8 小时前
C语言存在的问题及Zig语言如何改进,差异对比全在这
c语言·内存管理·系统编程·类型系统·zig语言
leobertlan8 小时前
好玩系列:用20元实现快乐保存器
android·人工智能·算法
青梅橘子皮8 小时前
C语言---指针的应用以及一些面试题
c语言·开发语言·算法
笨笨饿8 小时前
#58_万能函数的构造方法:ReLU函数
数据结构·人工智能·stm32·单片机·硬件工程·学习方法
_深海凉_9 小时前
LeetCode热题100-有效的括号
linux·算法·leetcode
零号全栈寒江独钓12 小时前
基于c/c++实现linux/windows跨平台获取ntp网络时间戳
linux·c语言·c++·windows
被开发耽误的大厨12 小时前
1、==、equals、hashCode底层原理?重写场景?
算法·哈希算法