• 队列


    语雀入口

     https://www.yuque.com/along-n3gko/ezt5z9

    介绍

       队列是遵循FIFO(First In First Out,先进先出,也称为先来先服务)原则的一组有序的项。 队列在尾部添加新元素,并从顶部移除元素。最新添加的元素必须排在队列的末尾。

    在现实中,最常见的队列就是排队,当然不允许插队的存在哦

     分析

      实现一个队列,首先需要一个存储队列的数据结构,我们可以使用数组。

    1 function Queue() {
    2     var items = [];
    3 }

    基本方法

    • 向队列添加方法,新项只能添加在末尾
    • 从队列移除元素,遵循先进先出原则,所以最先添加项也是被最先移除的。
    • 查看队列长度
    • 检查队列是否为空,为空会返回true,否则返回false
    • 查看队列头元素
    • 查看队列尾元素
    • 清空队列
    • 打印队列元素 

    代码实现

     1 function Queue() {
     2   var items = [];
     3   this.enqueue = function(data) {
     4     items.push(data);
     5   };
     6   this.dequeue = function() {
     7     return items.shift();
     8   };
     9   this.size = function() {
    10     return items.length;
    11   };
    12   this.isEmpty = function() {
    13     return items.length === 0;
    14   };
    15 
    16   this.head = function() {
    17     return items[0] || null;
    18   };
    19   this.tail = function() {
    20     let len = items.length;
    21     if (len > 0) {
    22       return items[len - 1];
    23     }
    24     return null;
    25   };
    26   this.clear = function() {
    27     items = [];
    28     return true;
    29   };
    30   this.show = function() {
    31     console.log(items.toString());
    32   };
    33 }
     

     

  • 相关阅读:
    2019gdcpc
    STL容器
    C. Neko does Maths
    19年天梯赛总结
    初识事物处理
    Mybatis和spring整合
    build path导入的jar失效导致找不到类
    整合mybatis和spring时 Error creating bean with name 'sqlSessionFactory' defined in class path resource
    了解并使用springAOP(面向切面编程)
    aop配置问题引发的报错
  • 原文地址:https://www.cnblogs.com/alongup/p/12899704.html
Copyright © 2020-2023  润新知