优先队列

function PriorityQueue () {
    this.collection = [];
    this.printCollection = function() {
      console.log(this.collection);
    };
    // Only change code below this line
    this.enqueue = function() {
        if (this.isEmpty()){ 
            this.collection.push(arguments[0]);
        } else {
            var added = false;
            for (var i=0; i<this.collection.length; i++){
                 if (arguments[0][1] < this.collection[i][1]){ //checking priorities
                    this.collection.splice(i,0,arguments[0]);
                    added = true;
                    break;
                }
            }
            if (!added){
                this.collection.push(arguments[0]);
            }
        }
    }
    
    this.dequeue = function() {
        var ans = this.collection.shift()
        return ans[0];
    }
    
    this.front = function() {
        return this.collection[0];
    }
    
    this.size = function() {
        return this.collection.length;
    }
    
    this.isEmpty = function() {
        return this.collection.length > 0 ? false : true;
    }
    // Only change code above this line
}

posted on 2018-01-12 16:37  angle_qqs  阅读(89)  评论(0)    收藏  举报

导航