队列练习 --- 击鼓传花
//写一个队列
class dui{ constructor() { this.queue = [] } enqueue(element) { this.queue.push(element) return element } dequeue() { return this.queue.shift() } front() { if(this.queue.length > 0) { return this.queue[0] } else { return undefined } } isEmpty() { return this.queue.length > 0 } size() { return this.queue.length } }
击鼓传花
function pass(list, num) {
let que = new dui()
for(let i = 0; i< list.length; i++) {
que.enqueue(nameList[i])
}
while(que.size() > 1) {
for(let i=0; i< num; i++) {
que.enqueue(que.dequeue())
}
que.dequeue()
}
return que.front()
}
调用时传入:pass(['a1','a2','a3','a4'],2) //a1
队列特点:先进先出