队列是一种遵循先进先出(FIFO) 原则的数据结构。首先访问最先添加的元素。这就像排队买电影票一样。第一个拿到票。
示例: 实现队列
// program to implement queue data structure class Queue { constructor() { this.items = []; } // add element to the queue enqueue(element) { return this.items.push(element); } // remove element from the queue dequeue() { if(this.items.length > 0) { return this.items.shift(); } } // view the last element peek() { return this.items[this.items.length-1]; } // check if the queue is empty isEmpty(){ return this.items.length == 0; } // the size of the queue size(){ return this.items.length; } // empty the queue clear(){ this.items = []; } } let queue = new Queue(); queue.enqueue(1); queue.enqueue(2); queue.enqueue(4); queue.enqueue(8); console.log(queue.items); queue.dequeue(); console.log(queue.items); console.log(queue.peek()); console.log(queue.isEmpty()); console.log(queue.size()); queue.clear(); console.log(queue.items);
输出
[1, 2, 4, 8] [2, 4, 8] 8 false 3 []
在上面的程序中,创建了
Queue
类来实现队列数据结构。该类包括诸如
enqueue()
、
dequeue()
、
peek()
、
isEmpty()
、
size()
和
clear()
.
使用
最初,new
操作符创建一个
Queue
对象,并通过该对象访问各种方法。
this.items
是一个空数组。
push()
方法向 this.items 添加一个元素。
shift()
方法从 this.items 中删除第一个元素。
length
属性给出了 this.items 的长度。