//栈, 一种运算受限的线性表,后进先出(LIFO)
class Stack {
constructor () {
this.items = []
}
// 进栈
enterStack (elem) {
return this.items.push(elem)
}
// 出栈
outStack () {
return this.items.pop()
}
// 查看栈顶元素,仅仅是查看元素,不进行任何操作
peek () {
return this.items[this.items.length - 1]
}
// 栈是否为空
isEmpty () {
return this.items.length <= 0
}
// 清空栈
clear () {
this.items = []
return true
}
// 栈内元素个数
size () {
return this.items.length
}
}
var stack = new Stack()
stack.enterStack(0)
stack.enterStack(1)
stack.enterStack(2)
stack.enterStack(3)
stack.enterStack(4)
stack.outStack()
stack.peek()
stack.isEmpty()
stack.clear()
stack.size()