p5.js |队列中的入队操作
什么是队列?
队列是一种线性结构,它遵循执行操作的特定顺序。顺序是先进先出 (FIFO)。队列的一个很好的例子是资源的任何消费者队列,其中首先服务的消费者。在队列中添加或删除元素需要恒定的时间。
当我们需要处理FIFO形式的数据时,应该在数组上使用队列。
队列的限制:一次只能访问一个元素。
在 JavaScript 中,数组具有定义 Queue 类的 pop 和 shift 等方法:Enqueue 和 Dequeue 操作。有了这个,队列可以很容易地实现。
队列的基本骨架:下面的示例使用“$node skeleton.js”命令运行以获取基本队列骨架。
javascript
// Define Queue function
function Queue(array) {
this.array = [];
if (array) this.array = array;
}
// Add Get Buffer property to object
// constructor which slices the array
Queue.prototype.getBuffer = function() {
return this.array.slice();
}
// Add isEmpty properties to object constructor
// which returns the length of the array
Queue.prototype.isEmpty = function() {
return this.array.length == 0;
}
// Instance of the Queue class
var queue1 = new Queue(); //Queue { array: [] }
console.log(queue1);
javascript
Enqueue Operation
例子:
javascript
Enqueue Operation
输出:
通过调用queue1.enqueue(25)函数将 '25' 入队后,后面的变为 25。