Informática, perguntado por thaylorbarros, 1 ano atrás

Utilizaremos esta convenção gráfica para filas: fila = { primeiro,... , último }
Considere os métodos clássicos enqueue, dequeue e peek (peek retorna o elemento na frente da fila, sem eliminá-lo).

Seja uma fila, inicialmente com os elementos a seguir:
fila = { 1, 5, 31, 4 }

Considere que executamos estas operações com a fila anterior:
Object k = f.peek();
Object a = f.dequeue();
Object b = f.dequeue();
Object c = f.dequeue();
Object d = f.dequeue();
f.enqueue(c);
f.enqueue(k);

Qual será o estado final da fila, depois de executar os comandos antes mencionados?
A. fila = { 31, 1 }.
B. fila = { 31, 1, 5 }.
C. fila = { 4, 31, 1 }.
D. fila = { 31, 4 }.
E. fila = { 31, 5 }.

Soluções para a tarefa

Respondido por academicoiffdavi
1

Olá!

Inicialmente a nossa fila (f) tem os seguintes valores {1,5,31,4}

O comando enqueue("A") faz com que o valor "A" vá para o final da fila, e o comando dequeue() retorna o primeiro valor da fila, ou seja, o que está a mais tempo nela.

Portanto:

Vamos executar cada comando e ver como a fila se comporta.

1°)Object k = f.peek();

f = {1,5,31,4}

k= 1

2°)Object a = f.dequeue();

f = {5,31,4}

a=1

3°)Object b = f.dequeue();

f = {31,4}

b=5

4°)Object c = f.dequeue();

f = {4}

c=31

5°)Object d = f.dequeue();

f = {}

b=4

6°)f.enqueue(c);

f = {31}

7°)f.enqueue(k);

f = {31,1}

Portanto, a resposta é a letra A

Espero ter ajudado!

Perguntas interessantes