JavaScript基于数组实现栈与队列的四种操作模式

作者:代码拾荒

时间:2026-10-22

浏览:527

本文通过JavaScript数组演示栈与队列的四种实现方式。重点解析利用push、pop、unshift、shift方法组合,实现后进先出(LIFO)与先进先出(FIFO)逻辑,涵盖从队尾或队首添加/移除元素的具体代码示例。

文章目录

本文通过JavaScript数组演示栈与队列的具体操作示例,供读者参考学习。

栈结构实现(LIFO)

首先介绍栈数据结构的基本特性。

栈遵循后进先出(LIFO)原则,即元素在列表尾端添加,并从列表尾端移除。

栈的结构示意图如下。

栈结构实现(LIFO)

对应的实现代码如下。


var colors = ["red","blue"];
colors.push("brown");   //从队列尾部添加一项
console.log(colors);//[ 'red', 'blue', 'brown' ]
var item =colors.pop();  //从队列尾部移出一项
console.log(colors);//[ 'red', 'blue' ]

反向栈结构实现(LIFO)

第二种模式同样属于后进先出(LIFO)结构,但操作位置不同:元素在列表首端添加,并从列表首端移除。

该队列的结构示意图如下。

栈结构实现(LIFO)

对应的实现代码如下。


var colors=["red","blue"];
colors.unshift("green");   //从队列的前端添加一项
console.log(colors);//[ 'green', 'red', 'blue' ]
colors.shift();   //从队列的前端移除一项
console.log(colors);//[ 'red', 'blue' ]

标准队列实现(FIFO)

第三种模式为先进先出(FIFO)结构,元素在列表末端添加,并从列表首端移除。

该队列的结构示意图如下。

栈结构实现(LIFO)

对应的实现代码如下。


var colors=new Array();
var count=colors.push("red","green"); //从队列尾部推入两项
console.log(count);//2
var count=colors.push("black"); //从队列尾部推入另一项
console.log(colors);//[ 'red', 'green', 'black' ]
console.log(count);//3
var item=colors.shift();  //取得队列的第一项
console.log(item);//red
console.log(colors);//[ 'green', 'black' ]

反向队列实现(FIFO)

第四种模式也是先进先出(FIFO)结构,元素在列表首端添加,并从列表尾端移除。

该队列的结构示意图如下。

栈结构实现(LIFO)

对应的实现代码如下。


var colors=new Array();  //创建一个数组
var count=colors.unshift("red","green");  //从队列首部添加两项
console.log(colors);//[ 'red', 'green' ]
count =colors.unshift("black"); //从队列首部添加另一项
console.log(colors);//[ 'black', 'red', 'green' ]
var item=colors.pop();    //从队列尾部移出一项
console.log(colors);//[ 'black', 'red' ]

如需了解更多JavaScript相关内容,可参考本站专题:《JavaScript数据结构与算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》。

希望本文所述内容能对大家的JavaScript程序设计有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章