队列
数据结构 - 队列,先入先出。
// 队列实现
// ES5
var Queue = function() {
var items = [];
// 队列入列
this.enqueue = function(element) {
items.push(element);
};
// 队列出列
this.dequeue = function() {
return items.shift();
};
// 检查队列第一个元素
this.front = function() {
return items[0];
};
// 检查队列是否为空
this.isEmpty = function() {
return items.length == 0;
};
// 获取队列长度
this.size = function() {
return items.length;
};
// 检查items
this.getItem = function() {
return items;
};
};
队列 - 实现击鼓传花游戏。
// 玩家列表
var names = ['a', 'b', 'c', 'd', 'e', 'f'];
// 游戏规则
var number = 3;
// 击鼓传花游戏
var game = function(names, number) {
var q = new Queue();
for (var i = 0; i < names.length; i++) {
q.enqueue(names[i]);
}
var over = '';
while (q.size() > 1) {
for (var i = 0; i < number - 1; i++) {
q.enqueue(q.dequeue());
}
over = q.dequeue();
console.log('淘汰的玩家是:' + over);
}
return q.dequeue();
};