JavaScript实现队列
标签:
JavaScript
队列的定义
队列(Queue)是一种遵从先进先出(First in, first out。简称FIFO)原则的有序集合。
用组合模式实现
function Queue(){ this.items = []; } Queue.prototype={ constructor:Queue, //入队 enqueue:function() { var len = arguments.length; if (len == 0) { return; } for (var i = 0; i < len; i++) { this.items.push(arguments[i]) } }, //出队 dequeue:function() { var result = this.items.shift(); return typeof result != 'undefined' ? result : false; }, //队列是否为空 isEmpty:function() { return this.items.length == 0; }, //返回队列长度 size:function() { return this.items.length; }, //清空队列 clear:function() { this.items = []; }, //返回队列 show:function() { return this.items; } }var que1=new Queue(); que1.enqueue(1,2,3); que1.enqueue({},2,4);console.log(que1.dequeue());
用es6-class实现更优雅
class Queue{ constructor(){ this.items=[]; } //入队 enqueue() { var len = arguments.length; if (len == 0) { return; } for (var i = 0; i < len; i++) { this.items.push(arguments[i]) } } //出队 dequeue() { var result = this.items.shift(); return typeof result != 'undefined' ? result : false; } //队列是否为空 isEmpty() { return this.items.length == 0; } //返回队列长度 size() { return this.items.length; } //清空队列 clear() { this.items = []; } //返回队列 show() { return this.items; } }
栈的实现其实差不了太多
作者:pattyzzh
链接:https://www.jianshu.com/p/22b8f9d00331
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦