队列的定义
在现实生活中,像队列的例子就是我们平时的排队买票,先来的先买,后来的只能站在末尾,不允许插队。
队列的特征是,先进先出。跟栈一样,队列也是一种操作受限的线性表数据结构。
队列的基本操作:
入列:在队列尾部添加一个元素
出列:从队列头部移除一个元素

队列的实现
//基于数组实现的队列function Queue(){var items = [];//入队this.enqueue = function(elem){items.push(elem);}//出队this.dequeue = function(){return items.shift();}//返回队列最前面的项this.front = function(){return items[0];}//队列是否为空this.isEmpty = function(){return items.length == 0;}//队列的长度this.size = function(){return items.length;}//打印队列this.print = function(){console.log(items.toString());}}
基于链表实现的队列:https://github.com/wangzheng0822/algo/blob/master/javascript/09_queue/QueueBasedOnLinkedList.js
队列的类型
循环队列
循环队列其实是将队列的头尾相连,形成一个环。
