javascript数据结构-队列
队列(Queue)是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。
队列类
function Queue(){ this.data = []; }
添加数据
数据添加到末尾
enqueue: function(element) { this.data.push(element); }
删除数据
从头部删除
dequeue: function() { this.data.shift(); }
获取数据
返回第一个
front: function() { return this.data[0]; }
是否为空
isEmpty: function (){ return this.data.length == 0; }
清空数据
clear: function (){ this.data= []; }
数据长度
size: function (){ return this.data.length; }
完整代码
function Queue() { this.data = []; } Queue.prototype = { enqueue: function(element) { this.data.push(element); }, dequeue: function() { this.data.shift(); }, front: function() { return this.data[0]; }, isEmpty: function() { return this.data.length == 0; }, clear: function() { this.data = []; }, size: function() { return this.data.length; }, print: function() { console.log(this.data.toString()); } }