栈
什么是栈
栈是一种特殊得列表,线性存储结构,栈内得元素只能通过一端访问,这一端叫栈顶,数据只能在栈顶添加或者删除,它是一种后入先出得一种数据结构,例如洗盘子,只能从盘子最上面拿
实现一个栈,仅仅只是对原有数据进行了一次封装而已。而封装的结果是:并不去关心其内部的元素是什么,只是去操作栈顶元素。数组中也有类似得功能pop 和 push
class Stack {
constructor() {
this._items = []; // 储存数据
}
// 向栈内压入一个元素
push(item) {
this._items.push(item);
}
// 把栈顶元素弹出
pop() {
return this._items.pop();
}
// 返回栈顶元素
peek() {
return this._items[this._items.length - 1];
}
// 判断栈是否为空
isEmpty() {
return !this._items.length;
}
// 栈元素个数
size() {
return this._items.length;
}
// 清空栈
clear() {
this._items = [];
}
}
let a = new Stack();
console.log(a.length());
module.exports = Stack;