数据结构-队列
1.实现队列(enqueue 入队, dequeue 出队, head 返回头, tail 返回尾 size, clear, isEmpty) class Queue { constructor() { this.items = [] } enQueue(data) { this.items.push(data) } deQueue() { let deItem = this.items.shift() return deItem } head() { return this.items[0] } tail() { return this.items[this.items.length - 1] } size() { return this.items.length } clear() { this.items = [] } isEmpty() { return this.items.length === 0 } } 2. 队列常见算法 (1).约瑟夫环 思路:每隔两个删一个,那就是个数%3余数为0的话出队列,否则出队然后入队,即对头变队尾,直到剩下最后一个 // 约瑟夫环 [100 个数每隔两个删一个, 删到末尾继续从头开始, 求最后一个被删除的数是多少?] function delRing (ringArrs) { let queue = new Queue()