Tanto a fila como a pilha são conjuntos ordenados de itens, porém ambas se diferenciam pelas regras de entrada e saída. Na pilha, a entrada e a saída de dados se dão pela mesma extremidade, chamada de topo da pilha. Na fila, a entrada e a saída ocorrem em lugares opostos: a entrada acontece no final da fila e a saída no seu início. No caso de uma variável simples, a princípio, armazena-se apenas uma informação de um determinado tipo. Para armazenar mais de um elemento em uma variável, podemos usar estruturas homogêneas ou heterogêneas.
Fonte: adaptado de: DROZDEK, A. Estrutura de dados e algoritmos em C++. 2. ed. São Paulo: Cengage Learning, 2016.
A respeito das estruturas de dados mencionadas, assinale a alternativa correta:
A ) A função de desempilhar retira da pilha sempre o último elemento, a não ser que um índice seja indicado por parâmetro.
B ) Os registros são estruturas de dados para armazenamento heterogêneo, que possuem os dados a serem armazenados e um ponteiro para o próximo elemento.
C ) As pilhas são estruturas homogêneas, de acesso direto, onde podemos armazenar apenas elementos de tipos diferentes, sem uma ordem predeterminada.
D ) As filas e pilhas podem armazenar elementos de um mesmo tipo, mudando apenas as funções de inclusão e remoção das filas para as pilhas.
E ) A função de desempilhar retira da pilha sempre o primeiro elemento, a não ser que um índice seja indicado por parâmetro.