Buscar

provas av

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1. 
 
 
Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos 
podem ser de diferentes naturezas, entretanto dois de seus campos devem ser ponteiros 
para o mesmo tipo do nodo, são estes os ponteiros ant e prox, que apontam respectivamente 
para o nodo anterior e para o próximo nodo. Esta característica permite que a estrutura seja 
percorrida em ambos os sentidos. Assim analisando as operações a seguir: 
p->ant->prox=p->prox; 
p->prox->ant=p->ant; 
 
 Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que: 
 
 
As operações possibilitam a busca de um nodo apontado pelo ponteiro p. 
 
As operações possibilitam o percurso do ponteiro p da direita para esquerda. 
 
As operações removem o nodo apontado pelo ponteiro p. 
 
As operações inserem novo nodo, após o nodo apontado pelo ponteiro p. 
 
As operações possibilitam o percurso do ponteiro p da esquerda para direita. 
 
 
 
2. 
 
 
 Considere uma lista duplamente encadeada não circular em que 
 
struct nodupla { 
 int dado; 
 struct nodupla *dlink; // aponta p/ o nó à direita 
 struct nodupla *elink; // aponta p/ o nó à esquerda 
 }; 
 
sendo nodupla *p; //ponteiro para o início da lista 
 
 A opção que corretamente mostra as instruções para inserir um valor no início 
da lista apontada por p é : 
 
 
 
 nodupla *novo; 
 
 novo = new nodupla; 
 novo.dado = valor; 
 novo.dlink = p; 
 novo.elink = NULL; 
 if (p != NULL) 
 p.elink = novo; 
 p = novo; 
 
 nodupla *novo; 
 
 novo = new nodupla; 
 novo->dado = valor; 
 novo->dlink = p; 
 novo->elink = NULL; 
 if (p != NULL) 
 p->elink = novo; 
 p = novo; 
 
n 
 
 nodupla *novo; 
 
 novo = new nodupla; 
 novo->dado = valor; 
 novo->dlink = p; 
 if (p != NULL) 
 p->elink = novo; 
 p = novo; 
 
 
 nodupla *novo; 
 
 novo = new nodupla; 
 novo->dado = valor; 
 novo->dlink = p; 
 novo->elink = NULL; 
 p->elink = novo; 
 p = novo; 
 
 
 
n nodupla *novo; 
 
 novo = new nodupla; 
 novo->dado = valor; 
 novo->elink = NULL; 
 if (p != NULL) 
 p->elink = novo; 
 p = novo; 
 
 
 
 Gabarito Comentado 
 
 
3. 
 
 
Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para 
 
 
frente, apenas. 
 
frente e para trás, apenas. 
 
cima e para baixo, apenas. 
 
cima e para baixo ou para frente e para trás. 
 
trás, apenas. 
 
 Gabarito Comentado 
 
 
4. 
 
 
Em relação às estruturas de dados, é correto afirmar: 
 
 
LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, sem 
disciplina de acesso, onde o primeiro elemento a entrar é o último a sair. 
 
LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, 
duplamente encadeada. 
 
Um grafo com um único vértice e sem arestas é conhecido como dígrafo. 
 
Nos sistemas operacionais, a execução dos processos concorrentes ocorre segundo os princípios da 
estrutura FILO. 
 
Guardar endereço de memória em "nós", normalmente identificados por previous ou next, é uma 
característica presente nas listas duplamente encadeadas. 
 
 Gabarito Comentado 
 
 
5. 
 
 
Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de 
diferentes naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do 
nodo, são estes os ponteiros ant e prox, que apontam, respectivamente, para o nodo anterior e para o 
próximo nodo. Esta característica permite que a estrutura seja percorrida em ambos os sentidos. 
Assim analisando as operações a seguir: 
 
p->ant->prox=p->prox; 
p->prox->ant=p->ant; 
 
Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que: 
 
 
As operações possibilitam a busca de um nodo apontado pelo ponteiro p. 
 
As operações possibilitam o percurso do ponteiro p da direita para esquerda. 
 
As operações inserem novo nodo, após o nodo apontado pelo ponteiro p. 
 
As operações removem o nodo apontado pelo ponteiro p. 
 
As operações possibilitam o percurso do ponteiro p da esquerda para direita. 
 
 Gabarito Comentado 
 
 
6. 
 
 
Os registros também conhecidos como estruturas, são estruturas de dados do tipo heterogêneo, ou 
seja, permitem que valores de tipos diferentes possam ser armazenados em uma mesma estrutura. 
Analisando a estrutura abaixo, a mesma pode ser utilizada para qual tipo de estrutura de dados, 
marque a alternativa correta. 
struct nomeRegistro{ 
 int info; 
 struct nomeRegistro* ant; 
 struct nomeRegistro* prox; 
}; 
typedef struct nomeRegistro NOMEREGISTRO; 
 
 
Matriz 
 
Lista duplamente encadeada 
 
 
Fila 
 
Lista encadeada 
 
Pilha 
 
 
 
7. 
 
 
Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para: 
 
 
cima e para baixo, apenas. 
 
cima e para baixo ou para frente e para trás. 
 
frente e para trás, apenas. 
 
frente, apenas. 
 
trás, apenas. 
 
 Gabarito Comentado 
 
 
8. 
 
 
Com relação à lista duplamente encadeada, é correto afirmar que : 
 
 
Consome menos memória do que uma lista simplesmente 
encadeada, se tivermos uma mesma aplicação. 
 A lista precisa ter sempre um ponteiro apontando para o 1º. nó 
 
Não pode haver remoções no meio da lista. 
 
Não pode ser vazia. 
 
A lista pode ser percorrida com igual facilidade para a direita ou 
para a esquerda, pois existem dois ponteiros. 
 
1. 
 
 
Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos 
podem ser de diferentes naturezas, entretanto dois de seus campos devem ser ponteiros 
para o mesmo tipo do nodo, são estes os ponteiros ant e prox, que apontam respectivamente 
para o nodo anterior e para o próximo nodo. Esta característica permite que a estrutura seja 
percorrida em ambos os sentidos. Assim analisando as operações a seguir: 
p->ant->prox=p->prox; 
p->prox->ant=p->ant; 
 
 Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que: 
 
 
As operações inserem novo nodo, após o nodo apontado pelo ponteiro p. 
 
As operações possibilitam a busca de um nodo apontado pelo ponteiro p. 
 
As operações removem o nodo apontado pelo ponteiro p. 
 
As operações possibilitam o percurso do ponteiro p da direita para esquerda. 
 
As operações possibilitam o percurso do ponteiro p da esquerda para direita. 
 
 
 
2. 
 
 
Observe a struct, definida globalmente, e um trecho de uma função 
que manipula uma Lista Duplamente Encadeada. 
struct listaDE 
{ 
 int info; 
 struct listaDE* ant; 
 struct listaDE* prox; 
}; 
... 
listaDE* novo = new listaDE; 
novo->info = valor; 
novo->prox = LISTA; 
novo->ant = NULL; 
Assinale a alternativa que apresenta o protótipo dessa função 
 
 
listaDE *busca (listaDE *LISTA, int valor); 
 
listaDE *remove(listaDE *LISTA, int valor); 
 
listaDE *insereInicio(listaDE *LISTA, int valor); 
 
void exibeIpF(listaDE *LISTA); 
 
listaDE *insereFim(listaDE *LISTA, int valor); 
 
 Gabarito Comentado 
 
 
3. 
 
 
Em uma lista linear duplamente encadeada. 
 
 
O ponteiro do "último" nó nãoé NULL, mas sim aponta de volta para o "primeiro" nó da lista. 
 
Além do campo relativo ao dado, cada nó possui dois ponteiros. 
 
Cada nó possui um só ponteiro que referencia o próximo nó da lista. 
 
O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista, 
formando um ciclo. 
 
Cada ponteiro possui um só endereço que referencia o primeiro nó da lista. 
 
 Gabarito Comentado 
 
 
4. 
 
 Suponha uma listagem mantida com informações sobre um equipamento a 
 
ser adquirido por uma empresa. A listagem possui as informações sobre de 
10 fornecedores, descritas a seguir: 
próximo: um ponteiro para o próximo fornecedor da listagem; 
nome: nome, identificando o fornecedor; 
valor: preço do equipamento no fornecedor; 
anterior: um ponteiro para o fornecedor anterior da listagem. 
Sendo o fornecedor "Z" o quinto elemento desta listagem e "X" e "Y" dois 
outros fornecedores que não pertencem à listagem, com seus respectivos 
ponteiros "pZ", "pX" e "pY", considere o trecho de código abaixo. 
pY->proximo = pX; 
pX->anterior = pY; 
pX->proximo = pZ->proximo; 
pZ->proximo->anterior = pX; 
pZ->proximo = pY; 
pY->anterior = pZ; 
Este trecho de código é usado para inserir na listagem os fornecedores: 
 
 
Y, logo após o Z, e X, logo após o Y. 
 
X, logo após o Z, e Y, logo após o X. 
 
X, antes do Z, e Y, logo após o Z. 
 
Y, antes do Z, e X, logo após o Z. 
 
Y, antes do Z, e X, antes do Y. 
 
 Gabarito Comentado 
 
 
5. 
 
 
Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para: 
 
 
frente e para trás, apenas. 
 
frente, apenas. 
 
cima e para baixo, apenas. 
 
cima e para baixo ou para frente e para trás. 
 
trás, apenas. 
 
 Gabarito Comentado 
 
 
6. 
 
 
Com relação à lista duplamente encadeada, é correto afirmar que : 
 
 
Não pode haver remoções no meio da lista. 
 A lista precisa ter sempre um ponteiro apontando para o 1º. nó 
 
Consome menos memória do que uma lista simplesmente 
encadeada, se tivermos uma mesma aplicação. 
 
Não pode ser vazia. 
 
A lista pode ser percorrida com igual facilidade para a direita ou 
para a esquerda, pois existem dois ponteiros. 
 
 Gabarito Comentado 
 
 
7. 
 
 
Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de 
diferentes naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do 
nodo, são estes os ponteiros ant e prox, que apontam, respectivamente, para o nodo anterior e para o 
próximo nodo. Esta característica permite que a estrutura seja percorrida em ambos os sentidos. 
Assim analisando as operações a seguir: 
 
p->ant->prox=p->prox; 
p->prox->ant=p->ant; 
 
Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que: 
 
 
As operações inserem novo nodo, após o nodo apontado pelo ponteiro p. 
 
As operações removem o nodo apontado pelo ponteiro p. 
 
As operações possibilitam o percurso do ponteiro p da direita para esquerda. 
 
As operações possibilitam a busca de um nodo apontado pelo ponteiro p. 
 
As operações possibilitam o percurso do ponteiro p da esquerda para direita. 
 
 Gabarito Comentado 
 
 
8. 
 
 
Os registros também conhecidos como estruturas, são estruturas de dados do tipo heterogêneo, ou 
seja, permitem que valores de tipos diferentes possam ser armazenados em uma mesma estrutura. 
Analisando a estrutura abaixo, a mesma pode ser utilizada para qual tipo de estrutura de dados, 
marque a alternativa correta. 
struct nomeRegistro{ 
 int info; 
 struct nomeRegistro* ant; 
 struct nomeRegistro* prox; 
}; 
typedef struct nomeRegistro NOMEREGISTRO; 
 
 
Lista duplamente encadeada 
 
Pilha 
 
Lista encadeada 
 
Matriz 
 
Fila 
 
1. 
 
 
As listas encadeadas podem ser elaboradas de duas formas utilizando uma técnica de encadeamento 
simplesmente ou encadeamento duplo. O que difere uma lista simplesmente encadeada de uma lista 
duplamente encadeada? 
 
 
Em uma lista duplamente encadeada, cada nó aponta para um nó enquanto a lista simplesmente 
encadeada aponta para mais de um nó. 
 
Em uma lista simplesmente encadeada cada nó aponta para um único nó enquanto a lista 
duplamente encadeada aponta para mais de um nó. 
 
Em uma lista simplesmente encadeada cada nó aponta para nó seguinte e para o nó anterior. 
 
Em uma lista duplamente encadeada cada nó aponta para nó seguinte e para o primeiro nó da fila. 
 
Em uma lista duplamente encadeada cada nó aponta para nó seguinte. 
 
 Gabarito Comentado 
 
 
2. 
 
 
 Considere uma lista duplamente encadeada não circular em que 
 
struct nodupla { 
 int dado; 
 struct nodupla *dlink; // aponta p/ o nó à direita 
 struct nodupla *elink; // aponta p/ o nó à esquerda 
 }; 
 
sendo nodupla *p; //ponteiro para o início da lista 
 
 A opção que corretamente mostra as instruções para inserir um valor no início 
da lista apontada por p é : 
 
 
n 
 
 nodupla *novo; 
 
 novo = new nodupla; 
 novo->dado = valor; 
 novo->dlink = p; 
 if (p != NULL) 
 p->elink = novo; 
 p = novo; 
 
 
 nodupla *novo; 
 
 novo = new nodupla; 
 novo->dado = valor; 
 novo->dlink = p; 
 novo->elink = NULL; 
 p->elink = novo; 
 p = novo; 
 
 
 nodupla *novo; 
 
 novo = new nodupla; 
 novo->dado = valor; 
 novo->dlink = p; 
 novo->elink = NULL; 
 if (p != NULL) 
 p->elink = novo; 
 p = novo; 
 
 
n nodupla *novo; 
 
 novo = new nodupla; 
 novo->dado = valor; 
 novo->elink = NULL; 
 if (p != NULL) 
 p->elink = novo; 
 p = novo; 
 
 
 
 
 nodupla *novo; 
 
 novo = new nodupla; 
 novo.dado = valor; 
 novo.dlink = p; 
 novo.elink = NULL; 
 if (p != NULL) 
 p.elink = novo; 
 p = novo; 
 
 Gabarito Comentado 
 
 
3. 
 
 
Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para 
 
 
frente e para trás, apenas. 
 
trás, apenas. 
 
cima e para baixo ou para frente e para trás. 
 
cima e para baixo, apenas. 
 
frente, apenas. 
 
 Gabarito Comentado 
 
 
4. 
 
 
Em relação às estruturas de dados, é correto afirmar: 
 
 
Nos sistemas operacionais, a execução dos processos concorrentes ocorre segundo os princípios da 
estrutura FILO. 
 
Guardar endereço de memória em "nós", normalmente identificados por previous ou next, é uma 
característica presente nas listas duplamente encadeadas. 
 
Um grafo com um único vértice e sem arestas é conhecido como dígrafo. 
 
LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, sem 
disciplina de acesso, onde o primeiro elemento a entrar é o último a sair. 
 
LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, 
duplamente encadeada. 
 
 Gabarito Comentado 
 
 
5. 
 
 
Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de 
diferentes naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do 
nodo, são estes os ponteiros ant e prox, que apontam, respectivamente, para o nodo anterior e para o 
próximo nodo. Esta característica permiteque a estrutura seja percorrida em ambos os sentidos. 
Assim analisando as operações a seguir: 
 
p->ant->prox=p->prox; 
p->prox->ant=p->ant; 
 
Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que: 
 
 
As operações removem o nodo apontado pelo ponteiro p. 
 
As operações possibilitam o percurso do ponteiro p da esquerda para direita. 
 
As operações possibilitam a busca de um nodo apontado pelo ponteiro p. 
 
As operações inserem novo nodo, após o nodo apontado pelo ponteiro p. 
 
As operações possibilitam o percurso do ponteiro p da direita para esquerda. 
 
 Gabarito Comentado 
 
 
6. 
 
 
Os registros também conhecidos como estruturas, são estruturas de dados do tipo heterogêneo, ou 
seja, permitem que valores de tipos diferentes possam ser armazenados em uma mesma estrutura. 
Analisando a estrutura abaixo, a mesma pode ser utilizada para qual tipo de estrutura de dados, 
marque a alternativa correta. 
struct nomeRegistro{ 
 int info; 
 struct nomeRegistro* ant; 
 struct nomeRegistro* prox; 
}; 
typedef struct nomeRegistro NOMEREGISTRO; 
 
 
Matriz 
 
Fila 
 
Pilha 
 
Lista duplamente encadeada 
 
Lista encadeada 
 
 
 
7. 
 
 
Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para: 
 
 
frente, apenas. 
 
cima e para baixo ou para frente e para trás. 
 
trás, apenas. 
 
cima e para baixo, apenas. 
 
frente e para trás, apenas. 
 
 Gabarito Comentado 
 
 
 
 
 
Com relação à lista duplamente encadeada, é correto afirmar que : 
 
 A lista precisa ter sempre um ponteiro apontando para o 1º. nó 
 
Consome menos memória do que uma lista simplesmente 
encadeada, se tivermos uma mesma aplicação. 
 
A lista pode ser percorrida com igual facilidade para a direita ou 
para a esquerda, pois existem dois ponteiros. 
 
Não pode haver remoções no meio da lista. 
 
Não pode ser vazia. 
 
 
1. 
 
 
Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos 
podem ser de diferentes naturezas, entretanto dois de seus campos devem ser ponteiros 
para o mesmo tipo do nodo, são estes os ponteiros ant e prox, que apontam respectivamente 
para o nodo anterior e para o próximo nodo. Esta característica permite que a estrutura seja 
percorrida em ambos os sentidos. Assim analisando as operações a seguir: 
p->ant->prox=p->prox; 
p->prox->ant=p->ant; 
 
 Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que: 
 
 
As operações possibilitam o percurso do ponteiro p da direita para esquerda. 
 
As operações possibilitam o percurso do ponteiro p da esquerda para direita. 
 
As operações inserem novo nodo, após o nodo apontado pelo ponteiro p. 
 
As operações removem o nodo apontado pelo ponteiro p. 
 
As operações possibilitam a busca de um nodo apontado pelo ponteiro p. 
 
 
 
2. 
 
 
Observe a struct, definida globalmente, e um trecho de uma função 
que manipula uma Lista Duplamente Encadeada. 
struct listaDE 
{ 
 int info; 
 struct listaDE* ant; 
 struct listaDE* prox; 
}; 
... 
listaDE* novo = new listaDE; 
novo->info = valor; 
novo->prox = LISTA; 
novo->ant = NULL; 
Assinale a alternativa que apresenta o protótipo dessa função 
 
 
listaDE *remove(listaDE *LISTA, int valor); 
 
listaDE *insereInicio(listaDE *LISTA, int valor); 
 
void exibeIpF(listaDE *LISTA); 
 
listaDE *busca (listaDE *LISTA, int valor); 
 
listaDE *insereFim(listaDE *LISTA, int valor); 
 
 Gabarito Comentado 
 
 
3. 
 
 
Em uma lista linear duplamente encadeada. 
 
 
Além do campo relativo ao dado, cada nó possui dois ponteiros. 
 
Cada ponteiro possui um só endereço que referencia o primeiro nó da lista. 
 
O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista, 
formando um ciclo. 
 
O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista. 
 
Cada nó possui um só ponteiro que referencia o próximo nó da lista. 
 
 Gabarito Comentado 
 
 
4. 
 
 
 Suponha uma listagem mantida com informações sobre um equipamento a 
ser adquirido por uma empresa. A listagem possui as informações sobre de 
10 fornecedores, descritas a seguir: 
próximo: um ponteiro para o próximo fornecedor da listagem; 
nome: nome, identificando o fornecedor; 
valor: preço do equipamento no fornecedor; 
anterior: um ponteiro para o fornecedor anterior da listagem. 
Sendo o fornecedor "Z" o quinto elemento desta listagem e "X" e "Y" dois 
outros fornecedores que não pertencem à listagem, com seus respectivos 
ponteiros "pZ", "pX" e "pY", considere o trecho de código abaixo. 
pY->proximo = pX; 
pX->anterior = pY; 
pX->proximo = pZ->proximo; 
pZ->proximo->anterior = pX; 
pZ->proximo = pY; 
pY->anterior = pZ; 
Este trecho de código é usado para inserir na listagem os fornecedores: 
 
 
X, logo após o Z, e Y, logo após o X. 
 
Y, antes do Z, e X, antes do Y. 
 
X, antes do Z, e Y, logo após o Z. 
 
Y, antes do Z, e X, logo após o Z. 
 
Y, logo após o Z, e X, logo após o Y. 
 
 Gabarito Comentado 
 
 
5. 
 
 
Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para: 
 
 
frente, apenas. 
 
trás, apenas. 
 
cima e para baixo, apenas. 
 
frente e para trás, apenas. 
 
cima e para baixo ou para frente e para trás. 
 
 Gabarito Comentado 
 
 
6. 
 
 
Com relação à lista duplamente encadeada, é correto afirmar que : 
 
 
Não pode haver remoções no meio da lista. 
 
Consome menos memória do que uma lista simplesmente 
encadeada, se tivermos uma mesma aplicação. 
 
Não pode ser vazia. 
 A lista precisa ter sempre um ponteiro apontando para o 1º. nó 
 
A lista pode ser percorrida com igual facilidade para a direita ou 
para a esquerda, pois existem dois ponteiros. 
 
 Gabarito Comentado 
 
 
7. 
 
 
Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de 
diferentes naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do 
nodo, são estes os ponteiros ant e prox, que apontam, respectivamente, para o nodo anterior e para o 
próximo nodo. Esta característica permite que a estrutura seja percorrida em ambos os sentidos. 
Assim analisando as operações a seguir: 
 
p->ant->prox=p->prox; 
p->prox->ant=p->ant; 
 
Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que: 
 
 
As operações inserem novo nodo, após o nodo apontado pelo ponteiro p. 
 
As operações removem o nodo apontado pelo ponteiro p. 
 
As operações possibilitam a busca de um nodo apontado pelo ponteiro p. 
 
As operações possibilitam o percurso do ponteiro p da esquerda para direita. 
 
As operações possibilitam o percurso do ponteiro p da direita para esquerda. 
 
 Gabarito Comentado 
 
 
8. 
 
 
Os registros também conhecidos como estruturas, são estruturas de dados do tipo heterogêneo, ou 
seja, permitem que valores de tipos diferentes possam ser armazenados em uma mesma estrutura. 
Analisando a estrutura abaixo, a mesma pode ser utilizada para qual tipo de estrutura de dados, 
marque a alternativa correta. 
struct nomeRegistro{ 
 int info; 
 struct nomeRegistro* ant; 
 struct nomeRegistro* prox; 
}; 
typedef struct nomeRegistro NOMEREGISTRO; 
 
 
Pilha 
 
Fila 
 
Lista encadeada 
 
Lista duplamente encadeada 
 
Matriz

Outros materiais