基本概念
- 定义:只能在固定一端进行插入和删除操作的线性表。
- 栈顶:允许进行插入和删除操作的一端。
另一端则为栈底。 - 特点:后进先出
(图源网络)
方法
- push:将一个元素推入栈顶
- pop:移除栈顶元素,并返回被移除的元素
- peek:返回栈顶元素
- size:返回栈中元素的个数
代码实现
function Stack() {
this.count = 0;
this.storage = {};
this.push = function(value) {
this.storage[count] = value;
this.count++;
}
this.pop = function() {
if (this.count === 0) {
return undefined;
}
this.count--;
var result = this.storage[this.count];
delete this.storage[this.count];
return result;
}
this.peek = function() {
return this.storage[this.count - 1];
}
this.size = function() {
return this.count;
}
}