队列内元素进出的规则 是 先进先出 FIFO(first in first out)
代码如下
//封装队列操作
function Queue() {
this.items=[]
//1.将元素压入队列中操作
Queue.prototype.enqueue = function (element) {
this.items.push(element)
}
//2.将最先进来的元素从队列中删除 跟pop相反
Queue.prototype.dequeue = function () {
return this.items.shift()
}
//3.查看队列中最前面的元素
Queue.prototype.front = function () {
return this.items[0]
}
//4.判断队列是否为空
Queue.prototype.isEmpty = function () {
return this.items.length == 0
}
//5.判断队列的长度
Queue.prototype.size = function () {
return this.items.length
}
//6.toString类型
Queue.prototype.toString = function () {
var result = ''
for (var i = 0; i < this.items.length; i++) {
result += this.items[i]
}
return result
}
}
var queue=new Queue()
queue.enqueue('aaa')
queue.enqueue('bbb')
queue.enqueue('ccc')
queue.enqueue('ddd')
queue.dequeue()
与栈内操作不同的是 队列是先进先出原则
队列中的front 方法是查询队列中最先进来的元素
栈内中的peek方法是查询栈内栈顶元素 即最晚进来的元素
队列中删除元素是从队列最先进来的元素开始删除
使用了shift()方法
栈内中删除元素则是运用pop方法