当前位置: 首页 > wzjs >正文

运城市住房与城乡建设厅网站淘宝网店的seo主要是

运城市住房与城乡建设厅网站,淘宝网店的seo主要是,建站平台控制,深圳知名网络优化公司推动你的事业,不要让你的事业推动你。——爱因斯坦 目录 队列是什么?JS异步、事件循环、任务队列:队列的实现方法:‌数组实现‌ - 封装队列:对象实现(优化性能)- 封装队列: 队列应用…

推动你的事业,不要让你的事业推动你。——爱因斯坦

目录

  • 队列是什么?
  • JS异步、事件循环、任务队列:
  • 队列的实现方法:
    • ‌数组实现‌ - 封装队列:
    • 对象实现(优化性能)- 封装队列:
  • 队列应用之击鼓传花:

队列是什么?

队列是一种线性表,它只允许在表的一端进行插入操作,而在另一端进行删除操作。 其中,允许插入的一端称为队尾(rear),允许删除的一端称为队头(front)。即先进先出!【FIFO - first in first out】。队列中没有元素时,称为空队列。

JS异步、事件循环、任务队列:

点击跳转 - JS同步任务、异步任务(宏任务和微任务)
在这里插入图片描述
提示:上图是b站 千锋教育 课程里的图,侵权请联系删除。

队列的实现方法:

‌数组实现‌ - 封装队列:

使用 push() 和 shift() 方法实现入队和出队操作。

class Queue {#item = [];dequeue () {this.#item.shift();}enqueue (val) {this.#item.push(val);}front () {return this.#item.at(0);}isEmpty () {return this.#item.length === 0;}size () {return this.#item.length;}clear () {this.#item = [];}toString () {return this.#item.join("");}}let queue = new Queue();

对象实现(优化性能)- 封装队列:

数组的 shift() 方法时间复杂度为 O(n),通过对象存储和头尾指针优化出队性能至 O(1)‌。

class Queue {#items = {};#count = 0;#lowcount = 0;dequeue () {if (this.isEmpty()) {return;}let res = this.#items[this.#lowcount];delete this.#items[this.#lowcount];this.#lowcount++;return res;}enqueue (val) {this.#items[this.#count] = val;this.#count++;}front () {return this.#items.at(0);}isEmpty () {return this.size() === 0;}size () {return this.#count - this.#lowcount;}clear () {this.#items = {};this.#lowcount = 0;this.#count = 0;}toString () {let str = '';for (let i = this.#lowcount; i < this.#count; i++) {str += `${this.#items[i]} `}return str;}}let queue = new Queue();

队列应用之击鼓传花:

击鼓传花游戏通常是指一群人围成一圈传递物品,当鼓声停止时,持有物品的人被淘汰,直到剩下最后一人。
解题思路:

  • 队列循环逻辑‌:当队列长度大于1时,持续将队首元素移动到队尾,每轮循环次数由参数num决定‌。‌
  • 淘汰规则‌:每轮循环结束后(即完成num次移动),移除当前队首元素‌。
  • 终止条件‌:当队列仅剩一个元素时,返回该元素及其在原数组中的索引‌。

使用js代码解决:

class Queue {#items = {};#count = 0;#lowcount = 0;dequeue () {if (this.isEmpty()) {return;}let res = this.#items[this.#lowcount];delete this.#items[this.#lowcount];this.#lowcount++;return res;}enqueue (val) {this.#items[this.#count] = val;this.#count++;}front () {return this.#items.at(0);}isEmpty () {return this.size() === 0;}size () {return this.#count - this.#lowcount;}clear () {this.#items = {};this.#lowcount = 0;this.#count = 0;}toString () {let str = '';for (let i = this.#lowcount; i < this.#count; i++) {str += `${this.#items[i]} `}return str;}}function game (list, num) {let queue = new Queue();for (let i = 0; i < list.length; i++) {queue.enqueue(list[i]);}while (queue.size() > 1) {for (let i = 0; i < num; i++) {queue.enqueue(queue.dequeue())}console.log(queue.dequeue(), '淘汰了');// queue.dequeue();}console.log('获胜的是:', queue.dequeue());// return queue.dequeue();}game(['kitty', 'Alice', 'AK', 'Box', 'Whe'], 7);
http://www.dtcms.com/wzjs/544682.html

相关文章:

  • 四川德立胜建设工程有限公司网站公众平台登录官网
  • 锒川市住房和城乡建设局网站公告庄浪县县住房建设局网站
  • 义乌网站建设推广专家wordpress 部署
  • 学做静态网站网上购物系统源码
  • 网站 建设开发合同桂林北站停车场收费标准
  • 网站联盟关键词优化方法
  • 网站建设是固定资产吗wordpress 用户前台
  • 做淘宝有没有店小秘类型的网站做户型图的网站
  • 网站推广维护app界面生成器
  • 在云服务器上搭建网站惠州个人做网站联系人
  • 网站底部导航设置传统的网站开发模式
  • 合肥网站建设公司 千鸟装修房子的效果图 三室二厅二卫
  • 网站建设首选公司seo外包公司排名
  • 电子商城网站开发流程网站建设设计报告
  • 微网站开发合同wordpress表格显示图片
  • 免费建站网站seo怎么样购买网站空间
  • 做网站需要注意的点赶集网网站建设分析
  • 如何免费制作企业网站国内消息最新新闻
  • 教育视频培训网站建设网络科技公司取名
  • 网站建设项目进度计划书银川专业做网站的公司
  • 北京市住房建设官网站合肥市建设工程信息网官网
  • 雏鸟app网站推广网页微博版
  • 二级医院做网站wordpress编辑模板
  • 嘉兴网站建设多少钱国企网站建设合同
  • 桐城市做网站怎么申请自媒体平台账号
  • 娱乐网站的特点怎么进行网站诊断
  • 互联网行业招聘网站青浦网站建设su35
  • 建站视频网站开发维护
  • 网站制作完工验收单网站时间显示
  • .网站链接策略怎么建设自己产品网站