JavaScript 数据结构实现
1. 栈(Stack)
栈是一种遵从后进先出(LIFO)原则的有序集合。
class Stack {
constructor() {
this.items = [];
}
// 入栈
push(element) {
this.items.push(element);
}
// 出栈
pop() {
if(this.isEmpty()) return undefined;
return this.items.pop();
}
// 查看栈顶元素
peek() {
if(this.isEmpty()) return undefined;
return this.items[this.items.length - 1];
}
// 判断栈是否为空
isEmpty() {
return this.items.length === 0;
}
// 清空栈
clear() {
this.items = [];
}
// 获取栈的大小
size() {
return this.items.length;
}
}