你如何在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
取自“9个你可能不知道的JavaScript技巧”
Javascript具有push和pop方法,它们在普通的Javascript数组对象上运行。
对于队列,请看这里:
http://safalra.com/web-design/javascript/queues/
可以使用推送和移位方法或数组对象的非移位和弹出方法在JavaScript中实现队列。 虽然这是实现队列的一种简单方法,但对于大型队列来说效率非常低 - 因为这些方法在数组上运行,所以每次调用时,shift和unshift方法都会移动数组中的每个元素。
Queue.js是一个简单且高效的JavaScript队列实现,它的出列函数以分摊的恒定时间运行。 因此,对于更大的队列,它可以比使用阵列快得多。
阵列。
堆栈:
var stack = [];
//put value on top of stack
stack.push(1);
//remove value from top of stack
var value = stack.pop();
队列:
var queue = [];
//put value on end of queue
queue.push(1);
//Take first value from queue
var value = queue.shift();
链接地址: http://www.djcxy.com/p/14083.html
上一篇: How do you implement a Stack and a Queue in JavaScript?
下一篇: How JavaScript decides what size of memory to allocate for a numeric value?