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
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
Matemática,
8 meses atrás
Português,
8 meses atrás
Ed. Física,
1 ano atrás
Inglês,
1 ano atrás
Biologia,
1 ano atrás