zoukankan      html  css  js  c++  java
  • js 模拟队列类

    /*
    * 模拟队列
    */
    var Qu ={};

    //构造函数
    Qu.Queue = function (len) {
    this.capacity = len; //队列最大容量
    this.list = new Array(); //队列数据
    };

    //入队
    Qu.Queue.prototype.enqueue = function (data) {
    if (data == null) return;
    if(this.list.length>=this.capacity)
    {
    this.list.remove(0);
    }
    this.list.push(data);
    };

    //出队
    Qu.Queue.prototype.dequeue = function () {
    if (this.list == null) return;
    this.list.remove(0);
    };

    //队列长度
    Qu.Queue.prototype.size = function () {
    if (this == null) return;
    return this.list.length;
    };

    //队列是否空
    Qu.Queue.prototype.isEmpty = function () {
    if (this == null|this.list==null) return false;
    return this.list.length>0;
    };
    //对象数组扩展remove
    Array.prototype.remove = function(dx) {
        if (isNaN(dx) || dx > this.length) {
            return false;
        }
        for (var i = 0, n = 0; i < this.length; i++) {
            if (this[i] != this[dx]) {
                this[n++] = this[i]
            }
        }
        this.length -= 1
    }
    

      

    调用例子:

    //队列初始化

    var queue = new Qu.Queue(10);

    queue.enqueue(1);

    queue.enqueue(2);

    queue.enqueue(3);

  • 相关阅读:
    ztree学习---将默认勾选的展开
    CentOS之RPM
    CentOS之文档的压缩与打包
    CentOS之Vim
    CentOS用户和用户组管理
    Linux CentOS更改文件的权限
    CentOS的文件属性:命令 ls -l
    CentOS命令
    Java解析excel
    easyUI的combotree的树的懒加载。
  • 原文地址:https://www.cnblogs.com/lsmsky/p/2279573.html
Copyright © 2011-2022 走看看