美文网首页
队列 js版

队列 js版

作者: 两朵小黑云 | 来源:发表于2020-07-28 16:40 被阅读0次

队列

写在前面:还没想好写啥。

1.什么是队列?

  • 一个先进先出的数据结构
  • javascript中其实是没有队列的,但是你可以用Array来实现其所有功能 (push入队 shift出队)

2.有什么用?

  • 没用!!!
  • 解决诸如 食堂排队打饭 最近请求次数
    不扯,直接干
    LeetCode#933 最近的请求次数
    leetcode的题目描述有些晦涩难懂,我有必要翻译成人话;
    题目大意:现在你有个请求队列,t毫秒后你将push进去一个请求,t-3000以前的请求将被干掉,求现在队列里有几个请求?
    或者你这么理解:t代表这个员工的工号,每次新员工t加入q公司前先把工号小于t -3000的老家伙都辞退,然后再让t入职,统计q公司现有几个员工
class RecentCounter{
    constructor() {
        this.q = [];
    }
    ping (t){
        this.q.push(t); // 入队
        while (this.q[0] < t - 3000){
            this.q.shift() // 出队
        }
        return this.q.length;
    }
}

不会有童鞋看不懂es6写法吧,不会吧,不会吧,啊sir
好的吧,es5写法参上

var RecentCount = function(){
    this.q = [];
};
RecentCount.prototype.ping = function(t) {
    this.q.push(t);
    while(this.q[0] < t - 3000) {
      this.q.shift();
    }
    return this.q.length;
}

javascript版数据结构与算法将系列 持续更新中

相关文章

  • 队列 js版

    队列 写在前面:还没想好写啥。 1.什么是队列? 一个先进先出的数据结构 javascript中其实是没有队列的,...

  • WebViewJavascriptBridge源码解读

    JS中维护一个消息队列 JS和Native都封装消息写到该队列,然后通知对方处理 JS注册Handler JS中维...

  • 关于宏任务微任务的题

    第一道题: 解析:js任务队列有两种,宏任务队列,微任务队列。js的事件循环调度的就是宏任务队列。一个宏任务执行完...

  • 前端异步的一些基本概念

    消息队列 settimeout是异步方法,会排到消息队列去执行,也就是执行异步方法的队列称为消息队列。 js多线程...

  • JS队列

    概念: 先进先出(FIFO)的数据接口 1. 代码实现队列Queue 2. 优先队列 3. 循环队列--击鼓传花 ...

  • 2018-08-01 js栈与队列补充

    栈与队列之js(ts)手写(补充)

  • js实现数据结构队列

    根据js Array实现简单的单向队列

  • 实现一个简单的js队列

    实现一个简单的js队列

  • 宏队列与微队列

    js执行时有两个异步队列:宏队列和微队列。优先执行微队列中的任务,而且每次执行完宏队列中的任务后,都会查看微队列中...

  • JS 异步之宏队列 与 微队列

    # 前言 JS 中用来存储待执行回调函数的队列包含 宏队列 和 微队列 宏队列:用来保存待执行的宏任务(回调),比...

网友评论

      本文标题:队列 js版

      本文链接:https://www.haomeiwen.com/subject/tcofrktx.html