如何在 JavaScript 中实现堆栈和队列?
2022-08-29 22:16:02
在 JavaScript 中实现堆栈和队列的最佳方法是什么?
我想做调车场算法,我需要这些数据结构。
在 JavaScript 中实现堆栈和队列的最佳方法是什么?
我想做调车场算法,我需要这些数据结构。
var stack = [];
stack.push(2); // stack is now [2]
stack.push(5); // stack is now [2, 5]
var i = stack.pop(); // stack is now [2]
alert(i); // displays 5
var queue = [];
queue.push(2); // queue is now [2]
queue.push(5); // queue is now [2, 5]
var i = queue.shift(); // queue is now [5]
alert(i); // displays 2
Javascript具有推送和pop方法,这些方法在普通的Javascript数组对象上运行。
对于队列,请查看此处:
http://safalra.com/web-design/javascript/queues/
队列可以在 JavaScript 中使用 push and shift 方法或数组对象的 unshift 和 pop 方法来实现。尽管这是实现队列的简单方法,但对于大型队列来说效率非常低下 — 由于这些方法在数组上运行,因此每次调用 shift 和 unshift 方法时都会移动数组中的每个元素。
Queue.js是JavaScript的一个简单而有效的队列实现,其取消排队函数在摊销的常量时间内运行。因此,对于较大的队列,它可能比使用数组快得多。