//##队列
//基于数组实现
//先进先出
function Queue(){
this.items = [];
Queue.prototype.enqueue = function(element){
this.items.push(element);
}
Queue.prototype.dequeue = function(){
return this.items.shift();
}
Queue.prototype.front = function(){
return this.items[0];
}
Queue.prototype.isEmpty = function(){
return this,items.length == 0;
}
Queue.prototype.size = function(){
return this.items.length;
}
Queue.prototype.toString = function(){
var resultString = '';
for(var i = 0;i < this.items.length;i++){
resultString += this.items[i] + '';
}
return resultString;
}
}
var queue = new Queue();
//击鼓传花:
function passGame(nameList, num){
var queue = new Queue();
for(var i = 0;i < nameList.length;i++){
queue.enqueue(nameList[i]);
}
while(queue.size() > 1){
for(var i = 0;i < num - 1;i++){
queue.enqueue(queue.dequeue());
}
queue.dequeue();
}
var endName = queue.front();
return nameList.indexOf(endName);
}
//优先级队列:
//插入数据前考虑数据的优先级