前端大杂烩

数据结构 — 堆栈

2022-05-29  本文已影响0人  lio_zero

堆栈(Stack)是一种线性数据结构,其行为类似于现实世界中的项目堆栈。它遵循后进先出(LIFO)的操作顺序,类似于现实世界中的对应物。这意味着新项目将添加到堆栈顶部,项目也将从堆栈顶部移除。

JavaScript 堆栈可视化

栈数据结构的主要操作有:

JavaScript 实现

class Stack {
  constructor() {
    this.items = []
  }

  push(item) {
    this.items.unshift(item)
  }

  pop(item) {
    return this.items.shift()
  }

  peek(item) {
    return this.items[0]
  }

  isEmpty() {
    return this.items.length === 0
  }
}
const stack = new Stack()

stack.push('apples')
stack.push('oranges')
stack.push('pears')

stack.isEmpty() // false

stack.peek() // 'pears'

stack.pop() // 'pears'
stack.pop() // 'oranges'
stack.pop() // 'apples'

stack.isEmpty() // true

以上内容来自 30 seconds of code 的 JavaScript Data Structures - Stack

Leetcode 相关的堆栈题目

最小栈

更多资料

Stack

上一篇下一篇

猜你喜欢

热点阅读