【每日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.提交通过展示
相关推荐
longlongzihan1 小时前
LeetCode 56合并区间:排序与贪心
c++·算法·leetcode
free-elcmacom1 小时前
手撕 memcpy 和 memmove:从字节级拷贝到内存重叠的终极较量
c语言·开发语言·青少年编程·visual studio code·visual studio
w_zero_one2 小时前
链表(2)
java·数据结构·链表
程序员_小兵2 小时前
PCIe Switch Fabric 技术解析
服务器·c语言·嵌入式硬件·php·fabric
学术小李2 小时前
cudaMalloc第一个参数为何是指针的指针
算法
kukubuzai2 小时前
二分查找系列一
数据结构·算法·leetcode
老歌老听老掉牙2 小时前
动态规划:从递归到最优决策的算法艺术
算法·动态规划
朔北之忘 Clancy2 小时前
2024 CSP-J 第二轮真题解析
c++·算法·青少年编程·noip·csp·信奥赛·noi
凉茶钱3 小时前
【C++】动态内存管理完整解析:从内存划分到 new delete 底层原理
c语言·开发语言·c++·内存管理·动态内存