【发布时间】:2010-10-12 08:19:28
【问题描述】:
我正在用 JavaScript 实现一个堆栈。
考虑:
Stack{0,1,2,3} Top:0
现在用户弹出 2 的值:
Stack{0,1,3} Top:0
这对于堆栈来说是可接受的行为吗?我正在滚动我自己的堆栈,但是否有任何内置代码可以为我执行此操作?
我的代码:
function Stack() //Creating Stack Object
{
// Create an empty array of cards.
this.cards = new Array(); //Cards array inside stack object
this.push = pushdata; //Call pushdata function on push operation
this.pop = popdata; //Call popdata function on pop operation
this.printStack = showStackData; //Call showStackData function on printstack operation
}
function pushdata(data)
{
this.cards.push(data);
}
function popdata(data)
{
return this.cards.pop();
}
function showStackData()
{
return this.cards;
}
var a = new Stack(); //Create stack Object
a.push(12); //Push Data onto Stack
a.push(32);
a.push(42);
var z = a.pop();
document.write("Data Popped: " + z);
document.write("Stack Output: " + a.printStack());
如果堆栈不是此应用程序的正确数据结构类型,那么正确的数据结构类型是什么?
【问题讨论】:
标签: javascript data-structures stack