queue什么是队列?队列是一种特殊的线性表,只允许在队首删除节点,在队尾添加新元素。在我们的现实生活中,超市结账排队就是一个典型的例子。排队的第一个人结账后,在队列的最前面离开。想要退房的人需要进来排队等候。常用方法enqueue从队尾添加一个元素(我也检出来到队列)dequeue从队头删除一个元素(我检出离开队列)head返回头元素(我看看谁在最上面一排)Front)size返回队列的大小(有多少人在排队?)clear清空队列(11点了,该关门了,大家都离开队列)isEmpty判断队列是否为空(我看看有没有人在排队)tail返回队列的尾元素(我看看现在谁在最后)实现队列的逻辑功能Queue(){constitems=[]this.enqueue=function(item){items.push(item)}this.dequeue=function(){返回项目。转移()}这个。head=function(){returnitems[0]}这个。tail=function(){返回项目[项目。长度-1]}这个。size=function(){returnitems.length}this.clear=function(){items.length=0}this.isEmpty=function(){returnitems.length===0}}简单练习1.题目约瑟夫环需要一个数组a[100]存储0~99。要求每两个数字删除一个数字,从末尾的循环值开始继续寻找最后删除的数字。我们来分析一下思路,每两个删除一个元素,也就是删除第三个元素。因为题意循环结束后,需要从头再来。因此,我们可以借用队列的形式,将所有数据存储在队列中。通过循环队列和定义索引来记录当前位置。当索引是3的倍数时,我们删除该元素,否则我们重新将元素添加到队列的头部。这个循环一直持续到队列中只剩下一个元素为止。最后我们返回队列头部的元素,这就是我们最终的结果。代码实现consttest1=[5,6,7,8,9,10,0,1,2,3,4]consttest2=[]for(leti=0;i<100;i++)test2.push(i)functiondelRing(arrList){constqueue=newQueue()for(leti=0;i
