No contexto das estruturas de dados, considere uma pilha (stack) onde as seguintes operações foram executadas. CLEAR PUSH (12) PUSH (14) POP PUSH (20) PUSH (15) POP PUSH (19) Assinale a opção que indica o número de elementos e o valor do elemento localizado no topo da pilha, ao final das operações.
- A)3 / 12
Errada, porque a pilha termina com 3 elementos, mas o topo nao e 12.
- B)3 / 15
Errada, porque o topo final nao e 15, ja que esse elemento foi removido pelo POP.
- C)3 / 19
Certa, pois ao final da sequencia a pilha tem 3 elementos e o topo e 19.
- D)5 / 12
Errada, porque a pilha nao tem 5 elementos ao final e o topo nao e 12.
- E)5 / 19
Errada, porque embora o topo pudesse confundir, a quantidade de elementos nao e 5.
Gabarito: C
A pilha, ou stack, funciona no esquema LIFO: o ultimo a entrar e o primeiro a sair. Pense numa pilha de pratos: voce coloca um em cima e, para retirar, sempre pega o de cima. Por isso, as operacoes de PUSH inserem no topo e POP remove exatamente esse topo. Na questao, o comando CLEAR zera a pilha. Depois, o PUSH(12) deixa [12]. O PUSH(14) forma [12, 14], e o POP tira o 14, voltando para [12]. Em seguida, PUSH(20) gera [12, 20], PUSH(15) gera [12, 20, 15], e o POP remove o 15, ficando [12, 20]. Por fim, o PUSH(19) coloca o 19 no topo: [12, 20, 19]. Logo, a pilha termina com 3 elementos, e o elemento do topo e 19. Em provas, a banca adora testar se voce acompanha a ordem das operacoes sem inverter o comportamento da pilha. Aqui, o gabarito C esta correto porque, ao final, ha 3 elementos e o topo e 19.