数据结构--Stack(栈)

Stack(栈)特点:先进后出,后进先出(last in first out)
Stack具备的方法:
1.push:将一个元素添加在栈顶(数组末尾)
2.pop:删除栈顶(数组末尾)的一个元素
3.peek:返回栈顶的元素(也就是最后一个)
4.size:返回栈中元素的个数

实现stack类的方法

// JavaScript实现一个Stack类
function Stack(){
	// 记录数据个数
	this.count = 0;
	// 存储数据
	this.warehouse = [];

	// push函数(数据下标,值)
	this.push = function(value){
		this.warehouse[this.count] = value;
		this.count++;
	}

	// pop函数
	this.pop = function(){
		if(this.count === 0){
			return undefined;
		}
		this.count--;
		var result = this.warehouse[this.count];
		delete this.warehouse[this.count];
		return result;
	}
	// peek函数
	this.peek = function(){
		return this.warehouse[this.count-1];
	}

	// 数组长度函数
	this.size = function(){
		return this.count;
	}
}

// 实现方式
var stack = new Stack();
console.log(stack.count);
console.log(stack.warehouse);
console.log(stack.push(1));
console.log(stack.push(2));
console.log(stack.push(3));
console.log(stack.warehouse);
console.log(stack.pop())
console.log(stack.warehouse);
console.log(stack.peek());
console.log(stack.warehouse);
console.log(stack.size());
发布了43 篇原创文章 · 获赞 3 · 访问量 1136

猜你喜欢

转载自blog.csdn.net/qq_45007419/article/details/103833080