队列 FIFO

队列:先入先出

主要实现以下方法:
enqueue 入列
dequeue 出列
front 返回第一个元素
isEmprty 返回是否为空
size 长度

具体实现方式如下:

let Queue = (function(){const _item = new WeakMap()class QueueElement {constructor(element,priority){this.element = elementthis.priority = proiority  // 优先级}}   return class Queue {constructor() {_item.set(this,[])}enqueue(element,priority){let queueElement = new QueueElement(element,priority)let isAdd = false// 根据优先级追加for(var i = 0; i < _item.get(this).length; i++){if(queueElement.priority < _item.get(this)[i].priority)      {_item.get(this).splice(i,0,queueElement)isAdd = truebreak}}if(!isAdd){_item.get(this).push(queueElement)}}dequeue(){return _item.get(this).shift()}front(){return _item.get(this)[0]}isEmprty(){return _item.get(this).length === 0}size(){return _item.get(this).length}}
)()

JS实现【队列】插队功能相关推荐

  1. 【springboot】【redis】springboot+redis实现发布订阅功能,实现redis的消息队列的功能...

    springboot+redis实现发布订阅功能,实现redis的消息队列的功能 参考:https://www.cnblogs.com/cx987514451/p/9529611.html 思考一个问 ...

  2. 简易灯箱画廊设计html,原生Js实现的画廊功能

    原生Js实现画廊功能,点击图片,在下方出现相应放大图片.给a标签绑定onclick点击事件.这里上方的小图和下方将要展示大图,都是同一张图片,只是上下两个img的style中设置了不同的width和h ...

  3. java循环购物车结算系统_原生JS实现购物车结算功能代码

    html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD ...

  4. webpack VS Node.js - 二者对 require 功能的实现区别

    原文 Webpack 被广泛用于大部分前端项目. Webpack 有很多内容,本文我不会全部介绍,但我确实想谈谈某些方面. 调试项目时最重要的信息之一,是了解导致您看到的错误的技术.它可以帮助您更有效 ...

  5. rsa 加密 js php,security.js+RSA做出加密功能

    这次给大家带来security.js+RSA做出加密功能,的注意事项有哪些,下面就是实战案例,一起来看一下. 在项目中遇到要对用户输入的密码进行RSA加密的需求,总结一下实现过程: JS rsa加密 ...

  6. JS实现星星评分功能实例代码(两种方法)

    转载自   JS实现星星评分功能实例代码(两种方法) 一.方法1 1.用到图片 2.结构和样式 <!DOCTYPE html> <html lang="en"&g ...

  7. 每日一题(33)——用两个栈实现一个队列的功能?要求给出算法和思路

    用两个栈实现一个队列的功能?要求给出算法和思路. 设2个栈为A,B, 一开始均为空. 入队: 将新元素push入栈A; 出队: (1)判断栈B是否为空: (2)如果不为空,则将栈B中最顶元素pop出: ...

  8. WebStorm 打开Node.js的代码提示功能

    Node.js coding assistance is disabled,Suggests configuring coding assistance for Node.js core module ...

  9. node.js发送html,利用Node.JS实现邮件发送功能

    第一步.配置篇 首先需要安装nodemailer库 npm install nodemailer//默认会安装最新的版本. 关于这个库的文档参见nodemailer 第二步.库的一些使用介绍 这个库使 ...

  10. html搜索框如何加下拉框,js实现带搜索功能的下拉框

    本文实例为大家分享了js实现带搜索功能的下拉框,供大家参考,具体内容如下 1.介绍 在实现下拉框的时候,如果用select+option可以在满足pc端的需求,但如果需应用到手机端,由于select的 ...

最新文章

  1. 让SpringMVC Restful API优雅地支持多版本
  2. Leetcode 231. 2的幂 解题思路及C++实现
  3. python键盘输入数组_python 二维数组切割Python读取键盘输入的2种方法
  4. uboot nand erase 的显示错误修复
  5. paper 46 :中文latex的安装与使用
  6. 1040 Longest Symmetric String
  7. python 函数式编程包_python 函数支持函数式编程的包operator partial
  8. 分布式和微服务是什么?二者的区别又是什么?
  9. ocdma相干非相干_非相干系统是什么意思
  10. C#Socket客户端
  11. XML学习之做过的实验——实验一
  12. matlab插值拟合
  13. python jinja2_Python Jinja2使用方法
  14. 基于msm8916移植lcd流程--LK
  15. Unity场景渲染之自发光材质
  16. 如何解决SQLServer已超过了锁请求超时时段
  17. PHP 递归函数的理解
  18. PPT中如何插入指定大小的矩阵
  19. CSS样式层叠关系(一)-- 外部,内部与内联
  20. unity小技巧收集总结--自用(一)

热门文章

  1. 看一点逻辑学,试图理解一点真相
  2. 实用Windows网速监控软件TrafficMonitor
  3. win7计算机的ip地址设置,如何将win7ip地址设置成自动获取
  4. 批量删除微博的js代码
  5. shader篇-渲染纹理
  6. 解码M3U8在线流视频AES-128解密TS合并到MP4
  7. 计算机语言中block,plo(计算机编程语言)_百度百科
  8. Leetcode刷题之二叉搜索树、平衡二叉搜索树3
  9. 路由器、猫、交换机的解释
  10. 对比学习(二)-模型坍塌-infoNCE损失函数