Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

js 数据结构

作者:狂暴的酷   发布日期:2025-06-25   浏览:33

// 定义一个简单的栈数据结构
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 计时器

大家都在看

js 数组对象排序

js 数组删掉第一个值

js fill

js 数组复制

js 复制数组

js 数组拷贝

js 对象转数组

js 深拷贝数组

js 获取今天年月日

js jsonp

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站