zoukankan      html  css  js  c++  java
  • js实现队列

    方法一:利用两个栈实现队列

      let stack1 = [], //两个数组模拟栈的行为
           stack2 = [];
    
        function push(node) {
            //栈是后入先出(LIFO),队列是先入先出(FIFO)
            while (stack2.length !== 0) {
                stack1.push(stack2.pop());
            }
            stack1.push(node);
        }
    
        function pop() {
            while (stack1.length !== 0) {
                stack2.push(stack1.pop());
            }
            return stack2.pop();
        }
    
        push(0);
        push(1);
        push(2);
        push(3);
        console.log(pop());
        console.log(pop());
        console.log(pop());
        console.log(pop());
    

    方法二:

    observal = {
       callback: [],
       add: function(node){
         this.callback.push(node)
     },
     fire: function(){
        this.callback.forEach(function(node){
            console.log(node);
        })
      }
    }
    observal.add(0);
    observal.add(1);
    observal.add(2);
    observal.add(3); 
    observal.fire(); 
    
  • 相关阅读:
    20210608日报
    数据结构-四则表达式运算
    软工博客归档工具(自用)
    阅读笔记6
    阅读笔记4
    阅读笔记3
    阅读笔记2
    阅读笔记5
    阅读笔记1
    大二下第16周总结
  • 原文地址:https://www.cnblogs.com/peter-web/p/12550116.html
Copyright © 2011-2022 走看看