Javascript 队列

作者: ak1947 | 来源:发表于2018-07-31 21:38 被阅读0次

队列queue是一种先进先出FIFO的列表,数据在尾部添加,在首部删除。在日常生活中队列具有广泛的应用,例如银行排队、等待公交车排队等。
队列的核心操作有两个:enqueue入队和dequeue出队。


队列的javascript实现

function Queue() {
    this.dataStore = [ ];
    this.enqueue = enqueue;
    this.dequeue = dequeue;
    this.front = front;
    this.back = back;
    this.toString = toString;
    this.empty = empty;
}

function enqueue(element) {
    this.dataStore.push(element);
}

function dequeue(element) {
    return this.dataStore.shift();
}

function front() {
    return this.dataStore[0];
}

function back() {
    return this.dataStore[this.dataStore.length-1];
}

function toString() {
    var strRep = "";
    for (var i = 0; i < this.dataStore.length; ++i) {
        strRep += this.dataStore[i] + "\n";
    }
    return retStr;
}

function empty() {
    return this.dataStore.length == 0;
}

注意上面的队列实现提供了两个函数可以观察队首和队尾的元素。

使用队列进行舞者配对

假设有下面文本文件dancers.txt
F Allison McMillan
M Frank Opitz
M Mason McMillan
M Clayton Ruff
F Cheryl Ferenback
M Raymond Williams
F Jennifer Ingram
M Bryan Frazer
M David Durr
M Danny Martin
F Aurora Adney
将每个舞者存储在类对象Dancer中
function Dancer(name, sex) {
   this.name = name;
   this.sex = sex;
}

优先队列priority queue

相关文章

  • Javascript 队列

    队列queue是一种先进先出FIFO的列表,数据在尾部添加,在首部删除。在日常生活中队列具有广泛的应用,例如银行排...

  • 任务队列

    JavaScript 的任务循环中有两种队列: 宏任务队列(也直接称作任务队列)--(macro)task que...

  • JS单线程与任务队列

    javascript单线程与任务队列 一、JavaScript为什么设计为单线程? JavaScript语言的一大...

  • 算法 - 队列类型

    队列 一个先进先出的数据结构 javascript中没有队列,但可以用Array实现队列的所有功能 队列的应用场景...

  • JavaScript实现队列

    队列的定义 队列(Queue)是一种遵从先进先出(First in, first out。简称FIFO)原则的有序...

  • 理解JavaScript 运行机制

    想要理解JavaScript的运行机制,需要分别深刻理解以下几个点: JavaScript的单线程机制 任务队列(...

  • promise ES6 一看就懂

    Promise 我们都知道JavaScript是单线程执行的,执行的顺序是按照任务队列来执行的。 什么是任务队列?...

  • JS中的栈、队列和链表 -- 队列

    栈和队列是数据结构里的基本概念之一。所以今天讨论的内容是如何在JavaScript中实现一个队列。 什么是队列 顾...

  • 队列 js版

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

  • ES6 -异步编程

    javascript 是基于单线程的,如果想实现多个任务,需要任务队列来实现。 事件模型:点击按钮触发事件队列,异...

网友评论

    本文标题:Javascript 队列

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