Javascript算法 队列例子

function Queue(){
    this.dataStore = [];
    this.enqueue = enqueue;
    this.dequeue = dequeue;
    this.toString = toString;
}
function enqueue(element){
    this.dataStore.push(element);
}

function Patient(name, code){
    this.name = name;
    this.code = code;
}
// 把对象转换成字符串
function toString(){
    var reStr = "";
    for(var i = 0; i < this.dataStore.length; ++i){
        reStr += this.dataStore[i].name + " code:"
              + this.dataStore[i].code + "\n";
    }
    return reStr;
}
// 对两个数值进行比较
function dequeue(){  
    var entry = 0;
    for(var i = 1; i < this.dataStore.length; ++i){
        if(this.dataStore[i].code < this.dataStore[entry].code){
            entry = i;
        }
    }
    return this.dataStore.splice(entry, 1);
}

var p = new Patient("Smith", 5);
var ed = new Queue();
ed.enqueue(p);
p = new Patient("Jones", 4);
ed.enqueue(p);
p = new Patient("Yori", 6);
ed.enqueue(p);
p = new Patient("Jayce", 1);
ed.enqueue(p);
p = new Patient("Mike", 1);
ed.enqueue(p);

ed.toString();

var seen = ed.dequeue();
ed.toString();

var seen = ed.dequeue();
ed.toString();

var seen = ed.dequeue();
ed.toString();

 

posted @ 2017-11-23 11:34  wuyongyu  阅读(176)  评论(0)    收藏  举报