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