3)
A seguir, é apresentado o código da função "pilhaParaLista(p)", a qual recebe uma pilha "p" por parâmetro e retorna uma lista contendo todos os elementos contidos na pilha "p".



struct Lista* pilhaParaLista(struct Pilha* p) {

assert(p != NULL);

struct Pilha* aux = criar();

struct Lista* li = criar();



while(vazia(p) == false) {

empilhar(aux, desempilhar(p));

}



while(vazia(aux) == false) {

int elemento = desempilhar(aux);

empilhar(p, elemento);

inserir(li, 0, elemento);

}



liberar(aux);

return li;

}

Considerando a pilha "p" a seguir, assinale a alternativa que representa corretamente o estado da lista retornado pela função "pilhaParaLista(p)":



Pilha "p":

5 <- Topo

4

2

Alternativas:

a)
Início -> [5, 2, 4]

b)
Início -> [5, 4, 2]

c)
Início -> [4, 2, 5]

d)
Início -> [4, 5, 2]

e)
Início -> [2, 4, 5]

4)
Pilha e fila são exemplos de estruturas de dados bastante conhecidas. Em uma pilha, elementos podem ser inseridos e removidos apenas de uma extremidade da estrutura, conhecida como "topo". No caso da fila, elementos são inseridos em uma de suas extremidades (fim) e removidos da outra (início). A isso, damos o nome de protocolo da estrutura de dados.



Com base no que foi exposto, considere o seguinte problema: um usuário inseriu os números 3, 2, 4 e 5, nesta ordem, em uma estrutura de dados A, respeitando seu protocolo. Assim, a estrutura de dados A ficou preenchida da seguinte forma:



A: [5, 4, 2, 3]



Logo após, ele removeu todos os elementos da estrutura de dados A e os inseriu em uma estrutura de dados B, respeitando os protocolos de ambas as estruturas. A estrutura de dados A ficou vazia e a estrutura de dados B ficou preenchida da seguinte forma:



B: [5, 4, 2, 3]



Por fim, ele repetiu o processo, removendo os elementos da estrutura B e inserindo-os em uma estrutura de dados C. Isso vez com que a estrutura de dados B ficasse vazia e a estrutura de dados C ficasse preenchida da seguinte forma:



C: [3, 2, 4, 5]

Assinale a alternativa que representa corretamente o nome das estruturas de dados A, B e C:

Alternativas:

a)
A. Pilha / B. Fila / C. Pilha

b)
A. Pilha / B. Pilha / C. Fila

c)
A. Fila / B. Pilha / C. Fila

d)
A. Fila / B. Fila / C. Pilha

e)
A. Pilha / B. Fila / C. Fila

5)
Pilha e fila são exemplos de estruturas de dados bastante conhecidas. Em uma pilha, elementos podem ser inseridos e removidos apenas de uma extremidade da estrutura, conhecida como "topo". No caso da fila, elementos são inseridos em uma de suas extremidades (fim) e removidos da outra (início). A isso, damos o nome de protocolo da estrutura de dados.



Com base no que foi exposto, considere o seguinte problema: um usuário inseriu os números 7, 2, 5 e 3, nesta ordem, em uma estrutura de dados A, respeitando seu protocolo. Assim, a estrutura de dados A ficou preenchida da seguinte forma:



A: [7, 2, 5, 3]



Logo após, ele removeu todos os elementos da estrutura de dados A e os inseriu em uma estrutura de dados B, respeitando os protocolos de ambas as estruturas. A estrutura de dados A ficou vazia e a estrutura de dados B ficou preenchida da seguinte forma:



B: [3, 5, 2, 7]



Por fim, ele repetiu o processo, removendo os elementos da estrutura B e inserindo-os em uma estrutura de dados C. Isso vez com que a estrutura de dados B ficasse vazia e a estrutura de dados C ficasse preenchida da seguinte forma:



C: [7, 2, 5, 3]

Assinale a alternativa que representa corretamente o nome das estruturas de dados A, B e C:

Alternativas:

a)
A. Fila / B. Fila / C. Pilha

b)
A. Pilha / B. Fila / C. Pilha

c)
A. Fila / B. Pilha / C. Pilha

d)
A. Pilha / B. Pilha / C. Fila

e)
A. Fila / B. Pilha / C. Fila
Please enter comments
Please enter your name.
Please enter the correct email address.
You must agree before submitting.

Lista de comentários


Helpful Social

Copyright © 2024 ELIBRARY.TIPS - All rights reserved.