zoukankan      html  css  js  c++  java
  • JS 队列

    队列

    队列的操作

    • 入队,在队尾插入新元素
    • 出对,在队头删除旧元素
    • 读取,读取对头的元素 peeks

    队列的抽象定义

    • 入队 push
    • 出对 shift
    • 清空 clear
    • 长度 length
    • 显示 toString
    • 队首 front
    • 队尾 back

    队列实现

    function Queue() {
        this.dataStore = []
        this.enQueue = enQueue
        this.deQueue = deQueue
        this.front = front
        this.back = back
        this.clear = clear
        this.toString = toString
        this.isEmpty=isEmpty;
        this.length=length;
    }
    
    function enQueue(element) {
        this.dataStore.push(element);
    }
    
    function deQueue() {
    return this.dataStore.shift();
    }
    
    function length() {
        return this.dataStore.length;
    }
    
    function clear() {
        this.dataStore = [];
    }
    
    function toString() {
    
        return this.dataStore.map(function (item) {
            return item;
        }).join(',');
    }
    
    function front() {
        return this.dataStore[0];
    }
    
    function back() {
        this.dataStore[this.dataStore.length - 1];
    }
    
    function isEmpty() {
        return this.dataStore.length <= 0;
    }
    

    1:队列的使用 方块舞模拟实现

    function pairDancer(males,fmales){
        document.write("舞者开始入场----");
        document.write("<br />");
        var num=1;
        while(!males.isEmpty()&&!fmales.isEmpty()){
            var male=males.deQueue();
            console.log(male)
            document.write("第"+num+"组入场的男性是:"+male.name);
            document.write("<br />");
            var fmale=fmales.deQueue();
            document.write("第"+num+"组入场的女是:"+fmale.name);
            document.write("<br />");
            num++;
        }
        console.log("男性队列还有几人:"+males.length());
        console.log("女队列还有几人:"+fmales.length());
    }
    

    2:队列的使用 队列排序(基数排序)基于 1-99的两位数字

  • 相关阅读:
    主席树模板之区间问题
    简易版第k大(权值线段树+动态开点模板)
    Irrigation
    Petya and Array
    H. Pavel's Party(权值线段树)
    权值线段树入门
    位数差(二分)
    ZYB's Premutation(树状数组+二分)
    单调队列入门
    javaBean为什么要implements Serializable?
  • 原文地址:https://www.cnblogs.com/dark-liu/p/5792683.html
Copyright © 2011-2022 走看看