JavaScript 程序:实现堆栈
要理解此示例,你应该具备以下 JavaScript 编程主题的知识:
堆栈是一种遵循 后进先出 (LIFO) 原则的数据结构。最后添加的元素将首先被访问。这就像你把书本堆叠在一起,你最后放的那本书会首先被取出。
示例:实现堆栈
// 程序实现堆栈数据结构
class Stack {
constructor() {
this.items = [];
}
// 向堆栈添加元素
add(element) {
return this.items.push(element);
}
// 从堆栈移除元素
remove() {
if (this.items.length > 0) {
return this.items.pop();
}
}
// 查看最后一个元素
peek() {
return this.items[this.items.length - 1];
}
// 检查堆栈是否为空
isEmpty() {
return this.items.length == 0;
}
// 获取堆栈的大小
size() {
return this.items.length;
}
// 清空堆栈
clear() {
this.items = [];
}
}
let stack = new Stack();
stack.add(1);
stack.add(2);
stack.add(4);
stack.add(8);
console.log(stack.items);
stack.remove();
console.log(stack.items);
console.log(stack.peek());
console.log(stack.isEmpty());
console.log(stack.size());
stack.clear();
console.log(stack.items);
输出
[1, 2, 4, 8]
[1, 2, 4]
4
false
3
[]
在上述程序中,创建了 Stack
类来实现堆栈数据结构。实现了 add()
、remove()
、peek()
、isEmpty()
、size()
、clear()
等类方法。
使用 new
操作符创建了一个 stack 对象,并通过该对象访问了各种方法。
- 这里,初始时 this.items 是一个空数组。
push()
方法将元素添加到 this.items 中。pop()
方法从 this.items 中移除最后一个元素。length
属性给出了 this.items 的长度。