栈、队列

栈(Stack

栈是一种遵循 后进先出(LIFO, Last In First Out)原则的数据结构。也就是说,最后被放入栈中的元素会最先被取出。

  • push():将一个或多个元素添加到数组的末尾,返回新数组的长度。
  • pop():移除数组的最后一个元素,并返回该元素。
  • peek()(自定义方法):查看数组的最后一个元素(栈顶元素),但不移除它。
代码:
let stack = [];

// 入栈:将元素添加到栈的顶部
stack.push(10);   // [10]
stack.push(20);   // [10, 20]
stack.push(30);   // [10, 20, 30]

// 出栈:从栈顶移除元素
let popped = stack.pop();   // 30, stack变为 [10, 20]

// 查看栈顶元素
let top = stack[stack.length - 1];  // 20

相关算法题:

括号匹配

栈中最小元素问题

 

队列(Queue)

队列遵循 先进先出(FIFO)原则,所以队列的主要操作是将元素添加到数组的末尾(push),从数组的开头移除元素(shift)以及查看队列头元素。

  • push():将一个或多个元素添加到数组的末尾(队尾)。
  • shift():移除并返回数组的第一个元素(队头元素)。
  • front()(自定义方法):查看数组的第一个元素(队头元素),但不移除它。
    let queue = [];
    
    // 入队:将元素添加到队列的尾部
    queue.push(10);   // [10]
    queue.push(20);   // [10, 20]
    queue.push(30);   // [10, 20, 30]
    
    // 出队:从队列头部移除元素
    let dequeued = queue.shift();   // 10, queue变为 [20, 30]
    
    // 查看队头元素
    let front = queue[0];  // 20

     

posted @ 2025-03-09 23:00  我是格鲁特  阅读(28)  评论(0)    收藏  举报