队列练习 --- 击鼓传花

//写一个队列
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
 

队列特点:先进先出

posted @ 2020-12-16 20:09  刘葵  阅读(64)  评论(0编辑  收藏  举报