// 定义一个简单的栈数据结构
class Stack {
constructor() {
this.items = []; // 用于存储栈中的元素
}
// 添加元素到栈顶
push(element) {
this.items.push(element);
}
// 移除栈顶元素并返回该元素
pop() {
if (this.isEmpty()) {
return "Underflow"; // 栈为空时返回"Underflow"
}
return this.items.pop();
}
// 查看栈顶元素但不移除它
peek() {
if (this.isEmpty()) {
return "No elements in Stack"; // 栈为空时返回"No elements in Stack"
}
return this.items[this.items.length - 1];
}
// 检查栈是否为空
isEmpty() {
return this.items.length === 0;
}
// 获取栈中元素的数量
size() {
return this.items.length;
}
// 清空栈
clear() {
this.items = [];
}
// 打印栈的内容
printStack() {
console.log(this.items.toString());
}
}
// 示例用法
const stack = new Stack();
stack.push(10);
stack.push(20);
stack.push(30);
console.log("栈顶元素:", stack.peek()); // 输出: 栈顶元素: 30
console.log("移除栈顶元素:", stack.pop()); // 输出: 移除栈顶元素: 30
console.log("栈的大小:", stack.size()); // 输出: 栈的大小: 2
stack.printStack(); // 输出: 10,20
Stack 类:实现了栈的基本操作,包括 push(入栈)、pop(出栈)、peek(查看栈顶元素)、isEmpty(检查栈是否为空)、size(获取栈的大小)和 clear(清空栈)。push(element):将元素添加到栈顶。pop():移除栈顶元素并返回该元素,如果栈为空则返回 "Underflow"。peek():查看栈顶元素但不移除它,如果栈为空则返回 "No elements in Stack"。isEmpty():检查栈是否为空,返回布尔值。size():返回栈中元素的数量。clear():清空栈中的所有元素。printStack():打印栈中的所有元素。通过这个简单的栈实现,你可以理解 JavaScript 中如何使用数组来模拟栈的操作。
上一篇:js class继承
下一篇:js 计时器
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站