Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

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

Copy link
Copy link
@wingmeng

Description

@wingmeng
Issue body actions

概念:
队列和栈十分相似,他们都是线性表,元素都是有序的,不同之处是,队列遵循的是 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

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.