使用JS实现一个栈的基本功能

版权声明:本文为博主原创文章,未经博主允许不得转载。 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
栈空
栈空

猜你喜欢

转载自blog.csdn.net/HHH_LLL/article/details/90137429