codecamp

创建优先级队列类

function PriorityQueue () {
    this.collection = [];
    this.printCollection = function() {
      console.log(this.collection);
    };
    // Only change code below this line
    this.enqueue = function(arr){
        this.collection.unshift(arr);
    };
    
    this.dequeue = function(){
        // 最小元素的位置
        var minIndex = this.collection.length - 1, maxPri;
        for(var i = 0; i < this.collection.length; i++){
            if(i === 0){
                maxPri = this.collection[i][1];
            }else{
                if(maxPri >= this.collection[i][1]){
                    maxPri = this.collection[i][1];
                    minIndex = i;
                }
            }
        }
        var itemValue = this.collection[minIndex][0];
        this.collection.splice(minIndex, 1);
        return itemValue;
        
    };
    
    this.size = function(){
        return this.collection.length;
    };
    
    this.isEmpty = function(){
        return this.collection.length === 0 ? true : false;
    };
    
    
    // Only change code above this line
}


创建队列类
创建循环队列
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }