什么是栈?

栈是一种特殊的列表,栈内的元素只能通过列表的一端访问,这一端称为栈顶。

  • 特点

    • 栈是一种高效的数据结构,因为数据只能在栈顶添加或删除,所以这样的操作更快,而且容易实现。
    • 后进先出,任何不在栈顶的元素都无法访问。
  • 操作

    • 压栈:push()
    • 出栈:pop()
    • 访问栈顶元素:peek(),pop方法访问的时候会永久删除栈顶的元素,peek方法只返回栈顶元素而不是删除它。
  • 实现

    // 创建一个栈类
      class Stack {
        constructor () {
          this.dataStore = []
          this.top = 0
        }
    
        push (element) {
          // 添加一个元素后,然后执行top加加,现在的top已经加了1
          this.dataStore[this.top++] = element
        }
    
        pop () {
          return this.dataStore[--this.top]
        }
    
        peek () {
          return this.dataStore[this.top - 1]
        }
      }
    
  • 可以用来判断字符串是否是回文

你可能感兴趣的:(栈)