Questão 33 Comentada - Procuradoria Geral do Estado do Ceará (PGE-CE) - Técnico de Representação Judicial Tecnologia da Informação Análise e Desenvolvimento de Sistemas - UECE-CEV (2025)

Você deve implementar duas pilhas em um único array A[1…n] de modo que nenhuma das pilhas transborde, a menos que o número total de elementos nas duas pilhas juntas seja n. Considerando que as operações PUSH e POP sejam executadas em tempo O(1), assinale a opção cuja estratégia descrita permite essa implementação de forma eficiente.

  • A Usando-se dois ponteiros, um começando no início do array para a primeira pilha e um começando no final do array para a segunda pilha, movendo-se em direção um ao outro à medida que os elementos são inseridos.
  • B Usando-se um ponteiro no início do array para ambas as pilhas, inserindo elementos na primeira pilha e removendo da segunda pilha sempre que necessário
  • C Dividindo-se o array em duas partes iguais e atribuindo a primeira pilha à metade esquerda e a segunda pilha à metade direita. Os elementos entre as duas metades devem ser movidos conforme necessário.
  • D Usando-se um array circular com ambas as pilhas crescendo em direções opostas e garantindo-se que os elementos sejam sempre inseridos na pilha com mais espaço disponível.
  • E Implementando-se a primeira pilha utilizando a metade esquerda do array e a segunda pilha usando a metade direita, mas os tamanhos das pilhas podem mudar dinamicamente.