队列

247 字
1 分钟
队列

队列是什么?#

img
img

队列是先进先出的数据结构。

JavaScript没有队列的结构,但是可以通过Array实现队列的结构

主要就是用到数组的push和shift方法,以及找到队头 queue[0]

const queue = []
queue.push('1')
queue.push('2')
const item1 = queue.shift()
const item2 = queue.shift()

队列使用场景#

当无法多个任务并行时,采用先进先出,保持有序性。

食堂排队打饭,JS异步中的任务队列,计算最近的请求次数(队列)。

image.png
image.png

计算最近的请求次数

计算最近3000ms内发送的请求

[0,1,100,3001,3002]

[null,1,2,3,3]

当队头和新插入的元素插值大于3000ms时队头出队。

JS异步中的队列#

image.png
image.png

webApi执行完毕后会有回调函数里的代码进入Callback Queue,当主线程的同步任务执行完毕以后再执行异步任务。

队列总结#

先进先出的数据结构

树和图会用到队列进行广度优先遍历。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

队列
https://an2333.com/posts/basic/algorithm/queue/
作者
Annan
发布于
2025-05-05
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
Annan
写点前端,聊点 AI。
公告
博客已迁移到 Astro + Firefly,旧文章正在陆续搬家中。
分类
标签
站点统计
文章
50
分类
7
标签
28
总字数
84,160
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录