Skip to content

第 62 期(数据结构-队列):队列和队列的模拟 #65

@wingmeng

Description

@wingmeng

概念:
队列和栈十分相似,他们都是线性表,元素都是有序的,不同之处是,队列遵循的是 FIFO(先进先出)的原则。
队列从尾部添加新元素,从顶部移除元素,最新添加的元素排在队列的末尾。

理解:
队列在生活中最常见的例子就是排队了,先进入队列的先接受服务,后进入队列的排在队列后面。

队列的模拟:

class Queue {
  constructor() {
    this.item = [];
  }

  // 添加一个(或几个)新元素到队列尾部
  enqueue(element) {
    items.push(element);
  }

  // 移除队列的第一个元素,并返回被移除的元素
  dequeue() {
    return items.shift();
  }

  // 返回队列第一个元素,但不对队列做修改
  front() {
    return items[0];
  }

  // 判断是否为空队列(没有任何元素)
  isEmpty() {
    return items.length === 0;
  }

  // 返回队列里的元素个数
  size() {
    return items.length;
  }

  // 清空队列
  clear() {
    items = [];
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions