版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/HHH_LLL/article/details/90137429
直接上代码:
//用数组代替栈
//若栈内没有元素,往栈底添加一个
//取栈内元素时,从栈顶取,也就是存放这个栈数组的最后一个元素从后往前取元素
//取元素前判断栈内是否有元素
//显示栈内所有元素时,首先判断栈内是否有元素,若没有返回栈空,若有从后往前返回栈内元素
function createStack(){
var stack = [];
//入栈
this.append = function (e){
stack.push(e);
}
//出栈
this.getStack = function(){
if(stack.length == 0){
return "栈空";
}else{
return stack.pop();
}
}
//显示栈内所有元素
this.show = function(){
if(stack.length != 0){
for(var i=stack.length-1;i>-1;i--){
console.log(stack[i]);
}
}else{
console.log("栈空")
}
}
//清空栈内所有元素
this.deleteAll = function(){
stack = [];
}
}
var stack =new createStack();
stack.append(1);
stack.append(3);
stack.append(9);
stack.append('A');
stack.show();
stack.deleteAll();
stack.show();
console.log(stack.getStack());
结果:
A
9
3
1
栈空
栈空