Filas apresentam características de inserção e remoção na estrutura de dados seguindo a regra do primeiro que entra é o primeiro que sai. Observe o código da fila abaixo construída utilizando listas encadeadas. O código realiza a inserção de um novo elemento nesta fila.
1. NovoElemento->dado = numero
2. se (Head == NULO) então
3. Head = NovoElemento
4. Senão
5. ElementoVarredura = Head
6. enquanto (ElementoVarredura->prox <> NULO)
7. ElementoVarredura = ElementoVarredura->prox
8. Fimenquanto
9. ElementoVarredura->prox = NovoElemento
10. NovoElemento->prox = NULO
11. Fimse
Considerando que NovoElemento é um novo elemento que será inserido nesta fila, ElementoVarredura é uma variável que servirá para localizar o local de inserção, Head é o elemento que está no início da fila, assinale a alternativa CORRETA acerca de filas implementadas com listas encadeadas:
A O último elemento da lista encadeada deverá conter um ponteiro nulo, conforme indicado na linha 9.
B As linhas 6, 7 e 8 indicam nos dizem que, para realizar a inserção, precisamos varrer até localizarmos o último elemento, o qual não poderá conter um ponteiro nulo.
C Se o head estiver nulo, significa que podemos inserir um elemento após o head, mesmo que ele esteja nulo
D A varredura pela posição de inserção inicia no primeiro elemento da lista, conforme indicado na linha 5.
E Não seria possível substituir o laço de repetição enquanto por uma para-faça devido a condição de parada aplicada.
Soluções para a tarefa
Sabemos que as filas apresentam características de inserção e remoção na estrutura de dados seguindo a regra do primeiro que entra é o primeiro que sai (First in, first out).
Então temos listas encadeadas, onde o código realiza a inserção de um novo elemento nesta fila:
1. NovoElemento->dado = numero
2. se (Head == NULO) então
3. Head = NovoElemento
4. Senão
5. ElementoVarredura = Head
6. enquanto (ElementoVarredura->prox <> NULO)
7. ElementoVarredura = ElementoVarredura->prox
8. Fimenquanto
9. ElementoVarredura->prox = NovoElemento
10. NovoElemento->prox = NULO
11. Fimse
Consideramos que NovoElemento é um novo elemento que será inserido nesta fila, onde o ElementoVarredura é uma variável que servirá para localizar o local de inserção, equanto que, Head é o elemento que está no início da fila.
Assim podemos observar que, a varredura pela posição de inserção inicia no primeiro elemento da lista, ou seja, no Head, conforme indicado na linha 5.
Alternativa Correta: D