初步封装队列类
1 | function Queue() { |
队列常见操作
- enqueue(element): 向队列尾部添加一个(或多个)新的项
- dequeue(): 移除队列的第一项(即排在队列最前面的项),并返回被移除的元素
- front(): 返回队列的第一个元素–最先被添加,也将最先被移除的元素。队列不做任何变动(不移除元素,只返回元素信息)
- isEmpty(): 如果队列不包含任何元素,返回true,否则返回false
- size(): 返回队列所包含的元素个数
- toString(): 将队列中的内容,转换成字符串的形式
队列功能的实现
1 | function Queue() { |
测试
1 | const queue = new Queue(); |
队列小游戏
原游戏规则:
班级中玩一个游戏,所有学生围成一圈,从某位同学手里开始向旁边的同学传递花
这个时候某个人(比如班长),在击鼓,鼓声停下的时候,花在谁手里,谁就出来表演节目
修改游戏规则:
几个朋友围成一圈,开始数数,数到某个数字的人自动淘汰。
最后剩下的这个人获得胜利,请问最后剩下的是原来在哪一个位置上的人?
使用上面所封装的链表类来实现这个小游戏
1 | /** |
测试
1 | const names = ['关羽','刘备','张飞','赵云','诸葛亮','曹操']; |