数据结构 ~ 栈、队列

一个后进先出的数据结构、JS中没有栈,可以使用 Array 模拟

javascript 复制代码
const stack = []
stack.push(1) // 入栈
stack.push(2) // 入栈
const item1 = stack.pop() // 出栈
const item2 = stack.pop() // 出栈

以上代码可以使用 nodeJs 断点调试(F5启动);

可以看到执行步骤为入栈了数据1、入栈了数据2,出栈了数据2,出栈了数据1;

后入栈的数据先出栈(后进先出)

javascript 复制代码
const fun1 = () => {
  fun2()
}
const fun2 = () => {
  fun3()
}
const fun3 = () => {}
fun1()

同样可以断点调试以上代码;

执行步骤:入栈fun1、入栈fun2、入栈fun3、出栈fun3、出栈fun2、出栈fun1(后进先出)

十进制转换二进制:

javascript 复制代码
const num = 35
console.log(num.toString(2)) // 100011

队列

一种先进先出的数据结构、JS中没有栈,同样可以使用 Array 模拟

javascript 复制代码
const queue = []
queue.push(1)
queue.push(2)
const item1 = queue.shift()
const item2 = queue.shift()

执行步骤为入栈了数据1、入栈了数据2,出栈了数据1,出栈了数据2(先进先出)

事件循环

当 JS 所有同步代码执行完会启动事件循环机制,而 WebApis中的回调会推送到回调队列中,然后依此执行,先进先出。

相关推荐
Lhuu(重开版2 分钟前
JS:正则表达式和作用域
开发语言·javascript·正则表达式
-To be number.wan7 分钟前
【数据结构真题解析】哈希表中等难度挑战:冲突处理与查找效率深度剖析
数据结构·哈希算法
csdn_aspnet9 分钟前
C 语言的优雅回归:从零手造数据结构
c语言·数据结构
yuguo.im2 小时前
我开源了一个 GrapesJS 插件
前端·javascript·开源·grapesjs
安且惜2 小时前
带弹窗的页面--以表格形式展示
前端·javascript·vue.js
qeen872 小时前
【数据结构】单链表及双向链表的解析与实现
数据结构·链表
摘星编程3 小时前
用React Native开发OpenHarmony应用:NFC读取标签数据
javascript·react native·react.js
浅念-3 小时前
链表经典面试题目
c语言·数据结构·经验分享·笔记·学习·算法
czwxkn4 小时前
数据结构-线性表
数据结构
tobias.b4 小时前
408真题解析-2010-1-数据结构-栈基础操作
数据结构·408真题解析