首页 > 其他分享 >JS 模拟 队列 结构

JS 模拟 队列 结构

时间:2023-06-07 23:33:32浏览次数:53  
标签:arr return get 队列 JS ans capacity 模拟

Code:

/**
 * 队列(基于动态数组)
 * @class
 */
var AQueue = (function() {
  /**
   * 栈容器
   * @type {DArray}
   */
  let arr;

  /**
   * @class
   */
  class _AQueue {
    /**
     * 构造器
     * @constructor
     * @param {number} [capacity]
     */
    constructor(capacity) {
      arr = new DArray(capacity);
    }

    /**
     * 获取现有元素的个数
     * @return {number}
     */
    get_size() {
      return arr.get_size();
    }

    /**
     * 获取当前队列数组的容量
     * @return {number} 
     */
    get_capacity() {
      return arr.get_capacity();
    }

    /**
     * 获取队头元素
     * @return {*} 
     */
    get_front() {
      return arr.get_head();
    }

    /**
     * 入队
     * @param {*} el 
     */
    enqueue(el) {
      arr.insert_to_tail(el);
    }

    /**
     * 出队
     * @return {*}
     */
    dequeue() {
      return arr.remove_head();
    }

    /**
     * 将队列转为字符串输出
     * @return {string} 
     */
    to_string() {
      const n = arr.get_size();
      let ans = 'Queue: front [' + arr.get_head();
      for (let i = 1; i < n; i++) {
        ans += (',' + arr.get(i));
      }
      ans += '] tail';
      return ans;
    }
  }
  
  return _AQueue;
})();

注:DArray类的实现(代码),请点击 这里

 

标签:arr,return,get,队列,JS,ans,capacity,模拟
From: https://www.cnblogs.com/fanqshun/p/17464894.html

相关文章

  • JS 中 使用 Uuid
    一、官方网站https://github.com/uuidjs/uuid二、安装uuidnpminstalluuid三、导入uuid注:官方文档里的示例只适用于服务端(nodejs),想在浏览器里使用,得换一种导入方法nodejs:import{v4asuuidv4}from'uuid';浏览器js:constuuidv4=require('uuid').v4;四、使用c......
  • Three.js系列-报错export ‘Geometry‘ (imported as ‘THREE‘) was not found in ‘
    今天遇到报错export'Geometry'(importedas'THREE')wasnotfoundin'three'port'Geometry'(importedas'THREE')wasnotfoundin'three'(possibleexports:ACESFilmicToneMapping,AddEquation,AddOpe......
  • TsVSJs之间的区别
    一、观察1.JS平常的数据类型letval;val=123;val="123";val=true;val=[1,3,5];注意点:由于JS是弱类型的,所以只要定义了一个变量,就可以往这个变量中存储任意类型的数据也正是因为如此,所以会给我们带来一个问题2.假设a是一个数组,b是一个数值functiontest......
  • 13_How to Deploy NodeJs app on Ubuntu in Production
     地址:https://www.codewithharry.com/blogpost/deploy-nodejs-app-on-ubuntu/ HowtodeployaNode.jsapplicationinproductionInthispost,wewillseehowtorunanddeployNodeJSappsinproduction.Followthestepsbelow:Step1-InstallNodejsLet�......
  • 什么是json
    a='{"pwd":"12345678","type":1}'#判断是不是一个json,可以在网上找json工具进行判断#b不是jsonb="{'pwd':'12345678','type':1}"#json表示数据为空是null,不是Nonec='{"mobile_phone":null,"pw......
  • 【python】一个同步的队列类queue
    queuequeue 模块实现了多生产者、多消费者队列。这特别适用于消息必须安全地在多线程间交换的线程编程。模块中的 Queue 类实现了所有所需的锁定语义。 函数作用Queue.qsize()返回队列的大致大小。注意,qsize()>0不保证后续的get()不被阻塞,qsize()<maxsize......
  • 软件测试3班,学员就业前的模拟面试(2019-9-12)(金朝阳)
    1:你用过Fiddler在项目中发现过哪些有价值的bug?2:接口测试,返回的数据格式类型一般有哪些类型?(Json\xml\html等等)3:App兼容性测试怎么做?APP升级测试怎么做?4:你测试过哪些类型的安卓机型?哪些类型的苹果机型?5:你测试过安卓机型的操作系统是多少?苹果机型的操作系统是多少?6:你在做接口测试的......
  • 2023冲刺国赛模拟11
    A.天地一抹红同行的转移是\(kx+b\)的形式,可以李超树维护其实可以斜率优化,但是懒得动脑子code#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefunsignedlonglongull;typedefpair<int,ll>pil;intread(){ intx=0;charc=g......
  • 数据结构与算法-队列
    队列FIFO先进先出队列的实现classQueue(object):def__init__(self):self.__list=[]defenqueue(self,item):self.__list.append(item)defdequeue(self):returnself.__list.pop(0)defis_empty():returnse......
  • 格式化显示JSON数据
     测试JSON{"took":1,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":2,"relation":"eq......