¿Debo usar una matriz o un objeto para implementar una clase de cola de JavaScript?

Puede usar la matriz, ya que le ayudará a estimular el comportamiento real de la cola, ya que puede escribirse en cualquier idioma.

Consulte las implementaciones mencionadas a continuación.

————————————————————————————————————

La cola consta de métodos como

Poner en cola : método para agregar un elemento a la cola

Dequeue : método para eliminar un elemento de la cola

IsEmpty : ¿método para verificar si la cola está vacía o no?

Posterior : método para obtener el puntero posterior de la cola.

Front : método para obtener el puntero frontal de la cola.

Tamaño : método para devolver el tamaño de la cola.

Para obtener el código fuente completo, puede seguir el enlace Implementación básica de cola en Javascript

“uso estricto”;

var util = require (“util”);

// Inicializar cola
var Queue = function () {
this.front = 0;
this.rear = 0;
this.size = 0;
this.queue = [];
};

// Poner en cola: agregar un elemento a la cola
Queue.prototype.enqueue = function (value) {
this.queue [this.rear] = valor;
this.rear ++;
this.size ++;
};

// Dequeue – Eliminar un elemento de la cola
Queue.prototype.dequeue = function () {
if (this.size === 0) return util.log (“Nada que quitar, Queue ya está vacío”);
elemento var = this.queue [this.front];
this.front ++;
este tamaño-;
Devolver objeto;
};

// isEmpty: devuelve verdadero si la cola está vacía
Queue.prototype.isEmpty = function () {
return (this.size === 0);
};

// Frente: el puntero al primer elemento insertado
Queue.prototype.front = function () {
devuelve this.front;
};

// Posterior: el puntero al último elemento insertado
Queue.prototype.rear = function () {
devuelve this.rear;
};

// Tamaño: devuelve el tamaño de la cola en cualquier momento
Queue.prototype.size = function () {
devuelve this.size;
};

// Imprime la cola con algunas de las propiedades.
Queue.prototype.print = function () {
util.log (“Front:” + this.front.toString ());
util.log (“Rear:” + this.rear.toString ());
util.log (“Tamaño de cola:” + this.size.toString ());
util.log (“Queue isEmpty:” + this.isEmpty (). toString ());
util.log (“Cola:”);
util.log (“———————————–”);
para (var i = this.front; i <= this.rear – 1; i ++) {
util.log (this.queue [i] .toString ());
}
};

module.exports = Queue;

También puede ejecutar casos de prueba de mocha para esto. Para una implementación completa, visite Queue Basic Implementation en Javascript