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());