zoukankan      html  css  js  c++  java
  • 栈,队列

    栈是一种遵从先进后出(LIFO)原则的有序集合

    栈的特点是只能在某一端(只有一个口子)添加或删除数据,遵循先进后出的原则,不能随便删除修改,只能删除修改最外层的,要先拿出来再放进去

           插入操作在栈中被称作入栈(push)

      删除操作栈中被称为退栈(pop)

      使用场景                                     

      font------------------------------back   -->进行push/pop操作      只有一端能进行操作

       用js模拟栈

      //
      class Stacj {
        constructor(){
          this.stacj = [];
        }
        push(item) {
          this.stacj.push();
        }
        pop() {
          this.stacj.pop();
        }
        peek() {
          return this.stacj[this.getSize() -1];
        }
        getSize() {
          return this.stacj.length;
        }
        isEmpty() {
          return this.getSize() === 0;
        }
      }
    
      function isVaild(s) {
        const Map = {
          '{': '}',
          '[': ']',
          '(': ')',
        }
        const myStack = new Stacj()
        for(let item of s) {
          console.log(item, s)
          if(Map[item]) {
            myStack.push(item)
          } else {
            const last = myStack.pop()
            if(item !== Map[last]) return false
          }
        }
        return myStack.getSize() === 0;
      }
     console.log(isVaild('{','}','[',')','{',')'))

    队列是一种遵从(FIFO)原则的有序集合

    队列是一个线性结构,特点是在某一端添加数据,在另一端删除数据,遵循先进先出的原则

      插入(insert)操作也称作入队(enqueue)

      删除(delete)操作也被称为出队(dequeue)

  • 相关阅读:
    Linux服务器上监控网络带宽命令
    boost编译很慢的解决方法
    python select poll
    python SocketServer
    boost implicit_cast
    函数名 函数名取地址 区别
    STL make_heap push_heap pop_heap sort_heap
    STL: fill,fill_n,generate,generate_n
    gcc __attribute__
    Linux命令 lsof使用
  • 原文地址:https://www.cnblogs.com/wsm777/p/14120701.html
Copyright © 2011-2022 走看看