元模式

小白成长之路

avaScript数据结构与算法(二):Queue

开门见山

直接见代码,上一篇JavaScript数据结构与算法(一):Stack有更详细的表述。
作为学习,记录一下。

let Queue = (function () {
    const items = new WeakMap();
    class Queue {
        constructor() {
            items.set(this, []);
        }
        enqueue(ele) {
            let q = items.get(this);
            q.push(ele);
        }
        dequeue() {
            let q = items.get(this);
            let r = q.shift();
            return r;
        }
        front() {
            let q = items.get(this);
            return q[q.length-1];
        }
        isEmpty() {
            return items.get(this).length == 0;
        }
        size() {
            return items.get(this).length;
        }
        clear() {
            items.set(this,[]);
        }
        print() {
            console.log(items.get(this).toString());
        }
    }
    return Queue;
  })();

测试

  let q = new Queue();
  q.enqueue(1);
  q.enqueue(2);
  q.print();
  q.dequeue();
  q.print();
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/w_bu_neng_ku/article/details/80345064
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

avaScript数据结构与算法(二):Queue

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭