Sobes.tech
Junior — Middle

Como pode implementar uma estrutura de dados de fila em JavaScript?

sobes.tech IA

Resposta da IA

Em JavaScript, uma fila pode ser implementada usando um array, empregando os métodos push para adicionar ao final e shift para remover do início, o que corresponde ao princípio FIFO (First In, First Out).

Exemplo de uma implementação simples de fila:

class Queue {
  constructor() {
    this.items = [];
  }

  enqueue(element) {
    this.items.push(element); // adiciona ao final
  }

  dequeue() {
    if(this.isEmpty()) {
      return null;
    }
    return this.items.shift(); // remove do início
  }

  isEmpty() {
    return this.items.length === 0;
  }

  peek() {
    return this.isEmpty() ? null : this.items[0];
  }
}

// Uso:
const queue = new Queue();
queue.enqueue(1);
queue.enqueue(2);
console.log(queue.dequeue()); // 1
console.log(queue.peek());    // 2

Para uma implementação mais eficiente (para evitar o deslocamento de elementos com shift) pode-se usar uma lista ligada ou implementar a fila com dois índices.