// 定义一个简单的栈数据结构
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 中文站