队列(Queue)是一个有限操作的线性表,其特点是:先进先出。(FIFO:FirstInFirstOut)限制:只允许在表的前端进行删除操作。插入物只允许在桌子的后面。队列在程序中的应用打印队列:当计算机打印多个文件时,需要排队打印。线程队列:开启多线程后,当新开线程需要的资源不足时,会先放入线程队列,等待CPU处理。队列常用操作enqueue(element)向队列尾部添加一个(或多个)新项。dequeue()从队列中移除第一个(即队列的前端)项目并返回移除的元素。front()返回队列中的第一个元素——第一个被添加的元素也将是第一个被移除的元素。队列不做任何改变(不移除元素,只返回元素信息,与Map类的peek方法很相似)。如果队列不包含任何元素,isEmpty()返回true,否则返回false。size()返回队列包含的元素个数,类似于数组的length属性。toString()将队列中的内容转换为字符串。代码实现classQueue{constructor(){this.items=[];}enqueue(item){this.items.push(item)}dequeue(){returnthis.items.shift()}front(){returnthis.items[0]}isEmpty(){returnthis.item.length===0}//size()检查队列中的元素个数size(){returnthis.items.length}//toString()将队列中的元素作为字符串返回toString(){letresult=''for(letitemofthis.items){result+=item+''}returnresult}}敲鼓传花分析:传入一组数据集,并将设定的数字number循环遍历数组中的元素,当遍历到的元素为指定的number个数时,删除该元素,直到数组中只剩下一个元素。functionqueueGame(nameList,number){constqueue=newQueue();for(constnameofnameList){队列。enqueue(name)}while(queue.size()>1){for(leti=0;i
