队列(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——队列(击鼓传花)相关推荐

  1. 击鼓传花击鼓次数相同c语言,JavaScript 实现击鼓传花游戏

    大家小时候应该都玩过击鼓传花(Hot Potato)的游戏吧! 一群小孩围成一个圆圈,把花尽快的传给旁边的人.某一时刻传花停止,这时花在谁手里,谁就退出圆圈结束游戏.重复此过程,直到剩下最后一个孩子, ...

  2. 利用JS实现循环队列--击鼓传花游戏

    由于队列经常被应用在计算机领域和我们的现实生活中,就出现了一些队列的修改版,其中一种叫做循环队列. 循环队列的一个例子就是击鼓传花游戏. 在这个游戏中,孩子们围成一个圆圈,把花尽快的传递给旁边的人.某 ...

  3. 循环队列-击鼓传花游戏

    击鼓的时候传❀,到时间手上拿着花的淘汰,最后剩下的人是胜者. function hotPotato(elementsList,num){const queue = new Queue();const ...

  4. JavaScript实现击鼓传花方法

    function game(nameList, number) {while (nameList.length > 1) {for (let i = 0; i < number - 1; ...

  5. JavaScript:队列的封装及面试题击鼓传花队列方法实现案例

    队列的定义:队列简称队.是一种操作受限的线性表,只允许在表的一端进行插入,而在表的另一端进行删除.向队列中插入元素称为入队或进队:删除元素称为出队或离队.其操作特性为先进先出(First In Fir ...

  6. JavaScript队列结构——击鼓传花游戏

    JavaScript队列结构--击鼓传花游戏 //队列类 function Queue(){this.items = []//将元素添加到队列中Queue.prototype.enqueue = fu ...

  7. JavaScript通过队列和双端队列实现击鼓传花游戏

    游戏规则: 民间击鼓传花游戏,也称传彩球.数人.十数人或数十人围成一个圆圈,把花尽快地传递给旁边的人.某一时刻传花停止,这个时候花在谁手里,谁就退圈.结束游戏.重复该过程,直到只剩一个人(胜利者). ...

  8. JavaScript 击鼓传花的游戏 使用数据结构---队列来实现击鼓传花

    击鼓传花游戏 原游戏规则: 班级中玩一个游戏,所有学生围成一圈,从某位同学手里开始向旁边的同学传一束花. 这个时候某个人(比如班长),在击鼓,鼓声停下的一刻,花落在谁手里,谁就出来表演节目 一般在编程 ...

  9. 击鼓传花java_关于javascript:JavaScript-使用数据结构队列来实现击鼓传花

    击鼓传花游戏 原游戏规则: 班级中玩一个游戏,所有学生围成一圈,从某位同学手里开始向旁边的同学传一束花. 这个时候某个人(比方班长),在击鼓,鼓声停下的一刻,花落在谁手里,谁就进去表演节目 在编程中的 ...

最新文章

  1. DotNet关键知识点——WCF篇(六)
  2. win10 64 安装VSS2005报错,解决方法。
  3. java bean jsp_JavaBean与Jsp
  4. 彻夜怒肝!SpringBoot+Sentinel+Nacos高并发已撸完,快要裂开了!
  5. 基于SpringBoot从零构建博客网站 - 整合ehcache和开发注册登录功能
  6. linux php -r,了解Linux
  7. 教师信息管理系统——c语言(附N-S图)
  8. 第一章:【UCHome二次开发】uchome文件体系介绍
  9. Tp-link路由器设置教程
  10. 安全知识、工具网址集锦(持续更新)
  11. 怎样成为优秀的测试工程师
  12. docker容器满了,如何清理内存
  13. The client-side rendered virtual DOM tree is not matching server-rendered content. 问题
  14. 停车场管理系统(一)
  15. 2018 ACM-ICPC, Syrian Collegiate Programming Contest I. Rise of the Robots 最小圆覆盖 模板
  16. ZZL字符串匹配算法
  17. java语言变量分为_在Java语言中变量分为四种,分别是___________________________________________。_学小易找答案...
  18. EHIGH恒高:大话UWB技术之TDOA与TOF两种技术方案对比
  19. 【Python】python之subprocess模块详解
  20. 遥测、遥信、遥控、遥调的简要说明

热门文章

  1. http请求报文和相应报文详解
  2. 微型计算机原理小闹钟8253,微机原理课程设计-电子钟设计.doc
  3. react中数据状态管理的四种方案
  4. 基于极限学习机的轴承故障分类(西储大学数据)
  5. 标准误计算机excel公式,请教关于AR(p)模型标准误的计算公式
  6. 计算机ppt练习,计算机应能力训练.ppt
  7. TypeScript Map 对象和TypeScript 元组
  8. XSRF 的攻击与防范
  9. 典型ieee3机9节点电力系统潮流分析_借“玩潮無界”国创潮流玩具展复盘开业半年的上海世茂广场...
  10. AI 与打工人的左右互博