JavaScript队列结构——击鼓传花游戏
JavaScript队列结构——击鼓传花游戏
//队列类
function Queue(){this.items = []//将元素添加到队列中Queue.prototype.enqueue = function(item){this.items.push(item)}//从队列中删除前端元素Queue.prototype.dequeue = function(){return this.items.shift()}//查看前端元素(不改变原队列)Queue.prototype.front = function(){return this.items[0]}//查看队列是否为空Queue.prototype.isEmpty = function(){return this.items.length == 0}//查看队列中元素个数Queue.prototype.size = function(){return this.items.length}//toString方法Queue.prototype.toString = function(){return this.items.join(' ')}
}/*
击鼓传花游戏,玩家按顺序从1开始数数,数到指定的num时出局
剩下的玩家接着重新从1开始数数
最后剩下的玩家获胜
*/
function passGame(players , num){//创建队列对象const queue = new Queue()//将所有玩家添加进队列players.forEach(item => {queue.enqueue(item)})//判断剩余玩家数量,剩余数量为1时结束游戏//最后剩下的玩家为获胜者while(queue.items.length > 1){//下标从0开始,每轮循环num-1次//已经数过数并且数的数不是num的玩家,从队列首端移到尾端for (let i = 0; i < num - 1; i++){queue.enqueue(queue.dequeue())}//循环结束后,淘汰数到num的玩家queue.dequeue()}//返回结果const winner = queue.front()console.log('获胜者为:' + winner)return winner
}
JavaScript队列结构——击鼓传花游戏相关推荐
- JavaScript通过队列和双端队列实现击鼓传花游戏
游戏规则: 民间击鼓传花游戏,也称传彩球.数人.十数人或数十人围成一个圆圈,把花尽快地传递给旁边的人.某一时刻传花停止,这个时候花在谁手里,谁就退圈.结束游戏.重复该过程,直到只剩一个人(胜利者). ...
- JS使用普通队列实现击鼓传花游戏
最近复习到了数据结构中的普通队列部分,来实现一个击鼓传花游戏的应用. 循环队列的一个例子就是击鼓传花(hot potato),在这个游戏中,孩子们围成一个圆圈,把花尽快地传递给旁边的人.某一时刻传话停 ...
- javascript——队列(击鼓传花)
队列(FIFO)规则:先进先出 击鼓传花游戏规则: 所有的人围成一个圈,规定一个数字,从第一个人的名字开始数,数到谁就淘汰谁,最后剩下的人获胜. 代码: <!DOCTYPE html> & ...
- 前端用队列实现击鼓传花游戏
// 封装队列(基于数组) class Queue {// 属性items = [];// 方法// 1.将元素加入到队列中enqueue(element: any) {this.items.push ...
- 利用JS实现循环队列--击鼓传花游戏
由于队列经常被应用在计算机领域和我们的现实生活中,就出现了一些队列的修改版,其中一种叫做循环队列. 循环队列的一个例子就是击鼓传花游戏. 在这个游戏中,孩子们围成一个圆圈,把花尽快的传递给旁边的人.某 ...
- 三、队列:优先队列+循环队列(击鼓传花算法)
队列: 队列是遵循FIFO(First In First Out,先进先出,也称为先来先服务)原则的一组有序的项.队列在尾部添加新元素,并从顶部移除元素.最新添加的元素必须排在队列的末尾. 在现实中, ...
- 数据结构--队列--js击鼓传花算法实现
击鼓传花游戏 原游戏规则: 班级中玩一个游戏,所有学生围成一圈,从某位同学手里开始向旁边的同学传一束花. 这个时候某个人(比如班长),在击鼓,鼓声停下的一刻,花落在谁手里,谁就出来表演节目 一般在编程 ...
- 用队列解决击鼓传花算法题
题目: 标号为0~6的6个小朋友围成一圈,开始数数,数到数字5的人自动淘汰,不断循环,剩下的最后一个人胜利. 问:最后胜利的人是谁? 解析: 将这6个学生放入队列中,每个人报一个数的同时出队,并重新进 ...
- java击鼓传花游戏list_集体互动游戏《击鼓传花游戏》
一.游戏道具: 鼓或音乐(音响与手机播放).花(可其他物品代替) 二.参加人员: 集体参加 三.游戏规则: 击鼓传花游戏规则都是有哪些?首先大家要围着坐成一圈,本来是要打鼓的可是我们没有鼓,只好就地取 ...
最新文章
- 数据变金矿:一文读懂序列模型(附用例)
- 【bzoj3150】 cqoi2013—新Nim游戏
- 独家 | 避免神经网络过拟合的5种技术(附链接)
- 在没有任何数据时进行无效的读取尝试。_技术转载——JVM运行时内存是怎么分布的?...
- 数组的定义格式三_省略的静态初始化
- C语言 指针和数组区别 - C语言零基础入门教程
- 那些实用的Nginx规则
- [.net 面向对象程序设计进阶] (15) 缓存(Cache)(二) 利用缓存提升程序性能
- Form 表单提交参数
- 一套SpringBoot+VUE全平台支付系统源码
- 软考真题答案-2021年11月系统集成项目管理工程师上午题(一)
- AI 智能头像生成神器|PhotoShot
- MySQL-数据表创建命令
- AI 智能修复老照片,效果惊艳到我了!| 附代码
- 小米8 twrp recovery_小米手机机型怎么刷入脸谱Magisk模块详细教程
- NOSQL,MongoDB分布式集群架构
- 由 Microsoft 或 IP 网关供应商伙伴测试过的 PBX 配置
- 阿里云OSS配合PicGo搭建图床
- 传送带效果实现 | Unity
- 笨办法学python3 学习笔记 习题20-21