javascript——队列(击鼓传花)
队列(FIFO)规则:先进先出
击鼓传花游戏规则:
所有的人围成一个圈,规定一个数字,从第一个人的名字开始数,数到谁就淘汰谁,最后剩下的人获胜。
代码:
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>封装队列</title>
</head><body><script>//封装队列类function Queue() {//属性this.items = [];//方法//1.将元素添加到队列中Queue.prototype.enQueue = function (element) {this.items.push(element);}//2.从队列中删除前端元素Queue.prototype.deQueue = function () {return this.items.shift();}//3.查看前端元素Queue.prototype.front = function () {return this.items[0];}//4.查看队列是否为空Queue.prototype.isEmpty = function () {return this.items.length == 0}//5.查看队列中元素的个数Queue.prototype.size = function () {return this.items.length}//6.toSting方法Queue.prototype.toString = function () {let str = ""for (let i = 0; i < this.items.length; i++) {str += this.items[i] + " "}return str}}//击鼓传花function passGame(nameList, number) {let queue = new Queue();//将所有的名字添加进队列for (let i = 0; i < nameList.length; i++) {queue.enQueue(nameList[i])}while (queue.size() > 1) {// 将所有下标不是number-1的名字移到队列后面for (let i = 0; i < number; i++) {queue.enQueue(queue.deQueue())}// 删除队列第一个名字,即下标为number-1的名字queue.deQueue()}// 获取最终剩下的人return queue.front()}let nameList = ["张三", "李四", "王五", "小红", "小明"]alert(passGame(nameList,5))</script>
</body></html>
结果:
javascript——队列(击鼓传花)相关推荐
- 击鼓传花击鼓次数相同c语言,JavaScript 实现击鼓传花游戏
大家小时候应该都玩过击鼓传花(Hot Potato)的游戏吧! 一群小孩围成一个圆圈,把花尽快的传给旁边的人.某一时刻传花停止,这时花在谁手里,谁就退出圆圈结束游戏.重复此过程,直到剩下最后一个孩子, ...
- 利用JS实现循环队列--击鼓传花游戏
由于队列经常被应用在计算机领域和我们的现实生活中,就出现了一些队列的修改版,其中一种叫做循环队列. 循环队列的一个例子就是击鼓传花游戏. 在这个游戏中,孩子们围成一个圆圈,把花尽快的传递给旁边的人.某 ...
- 循环队列-击鼓传花游戏
击鼓的时候传❀,到时间手上拿着花的淘汰,最后剩下的人是胜者. function hotPotato(elementsList,num){const queue = new Queue();const ...
- JavaScript实现击鼓传花方法
function game(nameList, number) {while (nameList.length > 1) {for (let i = 0; i < number - 1; ...
- JavaScript:队列的封装及面试题击鼓传花队列方法实现案例
队列的定义:队列简称队.是一种操作受限的线性表,只允许在表的一端进行插入,而在表的另一端进行删除.向队列中插入元素称为入队或进队:删除元素称为出队或离队.其操作特性为先进先出(First In Fir ...
- JavaScript队列结构——击鼓传花游戏
JavaScript队列结构--击鼓传花游戏 //队列类 function Queue(){this.items = []//将元素添加到队列中Queue.prototype.enqueue = fu ...
- JavaScript通过队列和双端队列实现击鼓传花游戏
游戏规则: 民间击鼓传花游戏,也称传彩球.数人.十数人或数十人围成一个圆圈,把花尽快地传递给旁边的人.某一时刻传花停止,这个时候花在谁手里,谁就退圈.结束游戏.重复该过程,直到只剩一个人(胜利者). ...
- JavaScript 击鼓传花的游戏 使用数据结构---队列来实现击鼓传花
击鼓传花游戏 原游戏规则: 班级中玩一个游戏,所有学生围成一圈,从某位同学手里开始向旁边的同学传一束花. 这个时候某个人(比如班长),在击鼓,鼓声停下的一刻,花落在谁手里,谁就出来表演节目 一般在编程 ...
- 击鼓传花java_关于javascript:JavaScript-使用数据结构队列来实现击鼓传花
击鼓传花游戏 原游戏规则: 班级中玩一个游戏,所有学生围成一圈,从某位同学手里开始向旁边的同学传一束花. 这个时候某个人(比方班长),在击鼓,鼓声停下的一刻,花落在谁手里,谁就进去表演节目 在编程中的 ...
最新文章
- DotNet关键知识点——WCF篇(六)
- win10 64 安装VSS2005报错,解决方法。
- java bean jsp_JavaBean与Jsp
- 彻夜怒肝!SpringBoot+Sentinel+Nacos高并发已撸完,快要裂开了!
- 基于SpringBoot从零构建博客网站 - 整合ehcache和开发注册登录功能
- linux php -r,了解Linux
- 教师信息管理系统——c语言(附N-S图)
- 第一章:【UCHome二次开发】uchome文件体系介绍
- Tp-link路由器设置教程
- 安全知识、工具网址集锦(持续更新)
- 怎样成为优秀的测试工程师
- docker容器满了,如何清理内存
- The client-side rendered virtual DOM tree is not matching server-rendered content. 问题
- 停车场管理系统(一)
- 2018 ACM-ICPC, Syrian Collegiate Programming Contest I. Rise of the Robots 最小圆覆盖 模板
- ZZL字符串匹配算法
- java语言变量分为_在Java语言中变量分为四种,分别是___________________________________________。_学小易找答案...
- EHIGH恒高:大话UWB技术之TDOA与TOF两种技术方案对比
- 【Python】python之subprocess模块详解
- 遥测、遥信、遥控、遥调的简要说明
热门文章
- http请求报文和相应报文详解
- 微型计算机原理小闹钟8253,微机原理课程设计-电子钟设计.doc
- react中数据状态管理的四种方案
- 基于极限学习机的轴承故障分类(西储大学数据)
- 标准误计算机excel公式,请教关于AR(p)模型标准误的计算公式
- 计算机ppt练习,计算机应能力训练.ppt
- TypeScript Map 对象和TypeScript 元组
- XSRF 的攻击与防范
- 典型ieee3机9节点电力系统潮流分析_借“玩潮無界”国创潮流玩具展复盘开业半年的上海世茂广场...
- AI 与打工人的左右互博