先上代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
function Quene() { var stack1 = [], stack2 = [] this.push = function(node) { stack1.push(node) }
this.pop = function() { if (stack2.length == 0) { if (stack1.length == 0) { return null } else { var len = stack1.length for (var i = 0; i < len; i++) { stack2.push(stack1.pop()) } return stack2.pop() } } else { return stack2.pop() } } }
|
栈有入栈和出栈,实现队列就是将两个栈,通过栈顶和另一个的栈底相连,然后一个栈一直执行入栈,另一个一直执行出栈就可以了。
近期评论