React 前端导航

js数据结构与算法之队列

介绍

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

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

分析

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

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

 

基本方法

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

代码实现

function Queue() {
  var items = [];
  this.enqueue = function(data) {
    items.push(data);
  };
  this.dequeue = function() {
    return items.shift();
  };
  this.size = function() {
    return items.length;
  };
  this.isEmpty = function() {
    return items.length === 0;
  };

this.head = function() {
return items[0] || null;
};
this.tail = function() {
let len = items.length;
if (len > 0) {
return items[len - 1];
}
return null;
};
this.clear = function() {
items = [];
return true;
};
this.show = function() {
console.log(items.toString());
};
}

声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。邮箱:farmerlzj@163.com。 本站原创内容未经允许不得转载,或转载时需注明出处: 内容转载自: React前端网:https://qianduan.shop/blogs/detail/154
想做或者在做副业的朋友欢迎加微信交流:farmerlzj,公众号:生财空间站。

#js#队列

相关推荐

原型与原型链、继承

原型与原型链、继承简单实现

浏览器中的js事件循环(Event loop)

本文将简述浏览器中的js事件循环机制,帮助我们理解浏览器环境js代码是如何运行的。Javascript的一大特点是单线程,也就意味着同一时间他只能做一件事。事件循环(Event Loop)是为了协调事件,用户交互,UI渲染,网络处理等行为,防止线程阻塞而诞生的。