InstruçÔes

Implemente uma fila

Neste laboratĂłrio, vocĂȘ vai implementar uma estrutura de dados de fila usando funçÔes. Uma fila Ă© uma estrutura de dados First-In-First-Out (FIFO) onde os elementos sĂŁo adicionados ao final da fila e removidos do inĂ­cio. Objetivo: Cumprir as user stories abaixo e fazer todos os testes passarem para completar o laboratĂłrio. HistĂłrias de usuĂĄrio: 1. VocĂȘ deve ter uma enqueue function que adiciona um elemento ao final da fila. 1. VocĂȘ deve ter uma dequeue function que remove e retorna o elemento frontal da fila. 1. VocĂȘ deve ter uma front function que retorna o elemento frontal da fila sem removĂȘ-lo. 1. VocĂȘ deve ter uma função size que retorna o nĂșmero de elementos na fila. 1. VocĂȘ deve ter uma isEmpty função que retorna true se a fila estiver vazia e false caso contrĂĄrio. Nota: A maioria dos testes depende da função enqueue. Implemente essa primeiro, pois os testes para dequeue, front, size e isEmpty exigem adicionar elementos Ă  fila.

O que fazer:

Testes:

  • VocĂȘ deve ter uma `enqueue` função.
  • A `enqueue` function deve adicionar um elemento ao final da fila.
  • VocĂȘ deve ter uma `dequeue` função.
  • A `dequeue` function deve remover e retornar o elemento frontal da fila.
  • `dequeue` deve retornar `undefined` quando chamado em uma fila vazia.
  • `enqueue` deve continuar a adicionar elementos ao final da fila apĂłs os dequeues.
  • Diferentes instĂąncias de fila nĂŁo devem compartilhar `state`.
  • VocĂȘ deve ter uma `front` função.
  • A `front` function deve retornar o elemento frontal da fila sem removĂȘ-lo.
  • `front` deve retornar `undefined` quando chamado em uma fila vazia.
  • VocĂȘ deve ter uma `size` function.
  • A `size` function deve retornar o nĂșmero correto de elementos na fila.
  • VocĂȘ deve ter uma `isEmpty` função.
  • A `isEmpty` function deve retornar `true` para uma fila vazia.
  • A `isEmpty` function deve retornar `false` para uma fila nĂŁo vazia.
  • A `isEmpty` function deve retornar `true` depois que todos os elementos forem removidos da fila.

Console