栈
栈的概念
栈是一种遵从后进先出原则的有序集合,添加新元素的一端称为栈顶,另一端称为栈底,每次对栈的操作只能从栈顶进行存取操作。
概念讲完该到灵魂画师上线了
实现一个栈
当前示例使用纯js去实现
class Stack {
constructor() {
this.data = []
// 记录栈的数据个数
this.count = 0
}
// 入栈
push(item) {
// 存储数据后count自增
this.data[this.count++] = item
}
// 出栈
pop() {
// 判断栈是否为空
if (this.isEmpty()) {
return
}
// 缓存被删除的数据
const temp = this.data[this.count - 1]
// 删除数据后count自减
delete this.data[--this.count]
return temp
}
// 获取栈顶值
top() {
if (this.isEmpty()) {
return
}
return this.data[this.count - 1]
}
// 是否为空
isEmpty() {
this.count === 0
}
// 栈内元素个数
size() {
return this.count
}
// 清空栈
clear() {
this.data = []
this.count = 0
}
}