LeetCode如何实现循环队列

发布时间:2021-12-15 11:18:03 作者:小新
来源:亿速云 阅读:168

小编给大家分享一下LeetCode如何实现循环队列,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

队列是典型的先进先出(FIFO)结构,插入(insert)也叫做入队(enqueue),新元素从队尾插入。删除(delete)也叫做出队(dequeue),从队首移除

LeetCode如何实现循环队列

LeetCode如何实现循环队列  
 

队列

队列可以利用Python中的数组实现,包含如下函数:

LeetCode如何实现循环队列

LeetCode如何实现循环队列  
 

循环队列

循环队列也是一种线性结构,同样基于FIFO原则,只不过队尾被连接在了队首之后形成了一个循环,也被称之为“环形缓冲器”

循环队列的一个优点在于:可以利用这个队列之前用过的空间

循环队列是要设置总长度容量的

循环队列包含的函数:

示例:

LeetCode如何实现循环队列

 

实现思路

LeetCode如何实现循环队列

首先循环队列是个“环”,利用python的数组模拟,通过操作数组的索引构建一个虚拟的环。对于循环队列而言,总长度是固定的(即数组的容量是固定的),任何位置都可以是队列的队首利用队首索引可以利用如下公式推导出队尾索引

tail_index = (head_index + count -1) % capacity

公式中的参数:

LeetCode如何实现循环队列

 
 

循环队列小结

1. 队尾索引由队头索引公式得到

tail_index = (head_index + count -1) % capacity
2. 设置数组容量  capacity
3. 队列长度  count  (实际元素个数)
4.  “循环”实现的关键    % capacity
5. “插入”是队尾移动,“删除”是队头移动


以上是“LeetCode如何实现循环队列”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. PHP实现循环队列(顺序结构)
  2. 循环队列的实现

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

leetcode

上一篇:Kafka常见面试问题有哪些

下一篇:Apache Kafka、Apache Pulsar和RabbitMQ性能测试对比是怎么进行的

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》