Buscar

Estrutura de Dados Coletânea Exercícios 2015 2

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

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

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ê viu 3, do total de 35 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

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

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ê viu 6, do total de 35 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

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

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ê viu 9, do total de 35 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

Prévia do material em texto

ESTRUTURA DE DADOS Lupa 
 
 
 
 
 Retornar 
Exercício: CCT0260_EX_A1_2015 Matrícula: 
Aluno(a): Data: 18/08/2015 21:37:45 (Finalizada) 
 
 
 1
a
 Questão (Ref.: 201502747092) Fórum de Dúvidas (1) Saiba (1) 
 
Leia com atenção as afirmativas abaixo e assinale a resposta correta. 
 
I A estrutura de dados que melhor representa os diretórios ou pastas de arquivos do computador é a árvore. 
II A estrutura de dados FILA é não linear assim como o Grafo. 
III O termo folha em uma estrutura de dados é usado para um nó sem filhos e que tem grau 0, 
IV O grau de uma árvore é definido pelo número de subárvores de um nó. 
V O grafo é uma estrutura de dados que tem limitação para o número de vértices. 
VI Uma das aplicações da estrutura de dados grafo é a Computação Gráfica. 
 
 II, IV, V e VI são afirmativas verdadeiras 
 II, IV e V são afirmativas verdadeiras 
 I, II e V são afirmativas verdadeiras 
 I, II, III e VI são afirmativas verdadeiras 
 I, III, IV e VI são afirmativas verdadeiras 
 
 Gabarito Comentado 
 
 
 
 
 2
a
 Questão (Ref.: 201502822546) Fórum de Dúvidas (1) Saiba (1) 
 
As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de armazenar 
dados ou informações na memória, de modo a otimizar o acesso a estes. Muitas vezes existem 
algoritmos de manipulação de dados associados a estas estruturas. 
Verifique as seguintes sentenças: 
I-Filas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados. 
II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes foram 
armazenados. 
III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes foram 
armazenados. 
IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes foram 
armazenados. 
Marque a alternativa CORRETA: 
 
 As alternativas II e IV estão corretas. 
 As alternativas III e IV estão corretas. 
 As alternativas I e II estão corretas 
 Todas as alternativas estão corretas. 
 As alternativas I e III estão corretas. 
 
 
 
 
 
 3
a
 Questão (Ref.: 201502799917) Fórum de Dúvidas (1) Saiba (1) 
 
 Os irmãos Silva irão viajar por vários países da Europa e por isso, traçaram no mapa o percurso que farão, de cidade 
a cidade. Qual a estrutura de dados mais adequada para modelar este problema ? 
 
 Grafo 
 Pilha 
 Fila 
 Árvore 
 Lista 
 
 
 
 
 
 4
a
 Questão (Ref.: 201502411267) Fórum de Dúvidas (1) Saiba (1) 
 
As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de 
armazenar dados ou informações na memória, de modo a otimizar o acesso a estes. Muitas 
vezes existem algoritmos de manipulação dados associados a estas estruturas. Verifique as 
seguintes sentenças: 
I-Filas são estruturas que recuperam os dados na ordem direta em que estes 
foram armazenados. 
II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes 
foram armazenados. 
III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes 
foram armazenados. 
IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes 
foram armazenados. 
Marque a alternativa CORRETA: 
 
 As alternativas III e IV estão corretas. 
 As alternativas I e II estão corretas 
 Todas as alternativas estão corretas. 
 As alternativas II e IV estão corretas. 
 As alternativas I e III estão corretas. 
 
 Gabarito Comentado 
 
 
 
 
 5
a
 Questão (Ref.: 201502208649) Fórum de Dúvidas (1 de 1) Saiba (1 de 1) 
 
Podemos dizer que estrutura de dados é: 
 
 O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as 
modificações. 
 A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se 
calcular uma solução do problema. 
 É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se 
calcular uma solução do problema. 
 O que permite o armazenamento e a recuperação de dados independentemente de seu 
conteúdo. 
 Uma sequência de passos computacionais que transforma uma entrada em uma saída 
previamente determinada. 
 
 Gabarito Comentado 
 
 
 
 
 6
a
 Questão (Ref.: 201502208656) Fórum de Dúvidas (1) Saiba (1) 
 
Estão entre algumas das possíveis formas de se estruturar dados: 
 
 Grafos, algoritmos, fila. 
 Grafos, lista ordenada, algoritmos. 
 Algoritmos, lista ordenada, vetores. 
 Lista encadeada, vetores, algoritmos. 
 Grafos, lista ordenada, vetores. 
 
 Gabarito Comentado 
 
 
 
 
 Retornar 
 
 
 
 
 
 
 
 
 
 
 
 ESTRUTURA DE DADOS Lupa 
 
 
 
 
 Retornar 
Exercício: CCT0260_EX_A2_2015 Matrícula: 
Aluno(a): Data: 20/08/2015 00:17:59 (Finalizada) 
 
 
 1
a
 Questão (Ref.: 201502276176) Fórum de Dúvidas (1) Saiba (1) 
 
Assinale a opção certa. 
 Quando não se escreve o protótipo de uma função ... 
 
 A definição da função deverá ser escrita, obrigatoriamente, após o programa principal. 
 A chamada da função poderá ser feita em qualquer hipótese. 
 O programa não funcionará de forma alguma. 
 A chamada da função não poderá ser feita em qualquer hipótese. 
 É preciso definir a função antes do programa principal. 
 
 Gabarito Comentado 
 
 
 
 
 2
a
 Questão (Ref.: 201502413689) Fórum de Dúvidas (1 de 1) Saiba (1 de 1) 
 
 
 
 Auxiliar = 100 Numero1 = 900 Numero2 = 20 
 Auxiliar = 111 Numero1 = 1000 Numero2 = 80 
 Auxiliar = 101 Numero1 = 900 Numero2 = 20 
 Auxiliar = 100 Numero1 = 1000 Numero2 = 20 
 Auxiliar = 100 Numero1 = 900 Numero2 = 80 
 
 Gabarito Comentado 
 
 
 
 
 3
a
 Questão (Ref.: 201502797317) Fórum de Dúvidas (1) Saiba (1) 
 
Blocos únicos de códigos que realizam diversas tarefas distitintas são de dificil manutenção. 
Portanto, utiliza-se a tecnica da modularização de programas, a fim de facilitar a implementação e a 
manutenção dos programas. Esta técnica, também chamada de modularização, tem como principal 
elemento: 
 
 As Estruturas de Dados 
 Os Grafos 
 As funções 
 Os Vetores 
 As Filas 
 
 
 
 
 
 4
a
 Questão (Ref.: 201502209009) Fórum de Dúvidas (1) Saiba (1) 
 
As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um 
espaço reservado na memória. Em algumas linguagens de programação podemos declarar, ou seja, 
reservar um espaço na memória, fora do escopo da função principal, e fora do escopo de qualquer 
outra função. Ao fazer a declaração desta forma estamos declarando uma variável do tipo: 
 
 Global 
 Inteiro 
 Constante 
 Real 
 Local 
 
 Gabarito Comentado 
 
 
 
 
 5
a
 Questão (Ref.: 201502209043) Fórum de Dúvidas (1 de 1) Saiba (1 de 1) 
 
Em programação podemos utilizar um recurso que modulariza o programa chamado função. As 
funções precisam ser ativadas para que possam ser executadas. Para isso, é necessário chamar a 
função pelo seu nome e enviar, quando necessário, os valores respectivos para os parâmetros de 
entrada. Ao enviar os valores para os parâmetros de entrada, o programa pode fazer uma cópia deste 
valor ou trabalhar em um endereço enviado. Quando se envia o endereço estamos ativando a função 
por meio de: 
 
 Ponteiros. 
 Envio de inteiro. 
 Registro. 
 Passagem por valor. 
 Envio de valor. 
 
 Gabarito Comentado 
 
 
 
 
 6
a
 Questão (Ref.: 201502209040) Fórum de Dúvidas(1) Saiba (1) 
 
Com a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a 
criação de funções que façam determinada verificação ou ação nestas estruturas. Dessa forma, 
analise a função abaixo e marque corretamente a alternativa que descreve as funcionalidades desta. 
int funcao(float v[], float vl, int n) 
{ 
 for (int i = 0; i < n; i++) 
 if (v[i] == vl) 
 return i; 
 return -1; 
} 
 
 Retorna -1 se o valor de n foi encontrado. 
 Resulta em erro, se o valor de vl não estiver dentro de v. 
 Retorna o valor de vl se o valor n foi encontrado. 
 Retorna a posição de v se o valor vl foi encontrado. 
 Retorna -1 se o valor de vl estiver dentro de v. 
 
 Gabarito Comentado 
 
 
 
 
 Retornar 
 
 
 
 
 
 
 
 
 
 ESTRUTURA DE DADOS Lupa 
 
 
 
 
 Retornar 
Exercício: CCT0260_EX_A3_2015 Matrícula: 
Aluno(a): Data: 22/08/2015 18:50:07 (Finalizada) 
 
 
 1
a
 Questão (Ref.: 201502778880) Fórum de Dúvidas (0) Saiba (0) 
 
Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, 
agrupados sob uma lógica e associados por um nome. Esses elementos podem ser variáveis simples, 
matrizes ou ainda outras estruturas. Seja a definição de uma estrutura como: struct aluno { string 
nome; float media; }; Suponha ainda que exista um vetor desta estrutura, definido como: aluno vet [ 
10]; Marque a alternativa em que é atribuída de forma correta a media 6.0 para o quarto elemento 
deste vetor. 
 
 aluno[3].10=6.0; 
 aluno[10]=6.0; 
 aluno[3].media=6.0; 
 vet[3].media=6.0; 
 vet[3].aluno=6.0; 
 
 
 
 
 
 2
a
 Questão (Ref.: 201502209011) Fórum de Dúvidas (0) Saiba (0) 
 
A armazenagem de dados pode ocorrer temporariamente em uma variável, um vetor ou em uma 
estrutura chamada Struct na linguagem C e C++. Como se procede a atribuição de valor a um 
determinado campo de uma estrutura do tipo Struct? 
 
 Nome da estrutura vírgula tipo do campo 
 Nome da estrutura ponto tipo do campo 
 Nome da estrutura seta nome do campo 
 Nome da estrutura ponto nome do campo 
 Nome da estrutura seta tipo do campo 
 
 Gabarito Comentado 
 
 
 
 
 3
a
 Questão (Ref.: 201502413719) Fórum de Dúvidas (0) Saiba (0) 
 
Com relação à struct, é correto afirmar que : 
 
 Cada elemento da struct é chamado campo e cada campo deve ser, obrigatoriamente, 
de um tipo de dados distinto de outro campo. 
 Cada elemento da struct é chamado componente. 
 Cada elemento da struct é denominado membro ou campo, sendo que a struct pode 
armazenar elementos de tipos diferentes ou não. 
 A struct é sempre definida dentro da main. 
 Não é possível criar um vetor de structs, pois o vetor trabalha apenas com dados do 
mesmo tipo. 
 
 Gabarito Comentado 
 
 
 
 
 4
a
 Questão (Ref.: 201502848358) Fórum de Dúvidas (0) Saiba (0) 
 
Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, 
geralmente, agrupados sob uma lógica e associados por um nome. 
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a 
definição de uma estrutura como: 
 
 struct aluno { 
 string nome; 
 float nota; 
}; 
 
Suponha ainda que exista um vetor desta estrutura, definido como: 
 aluno vet [ 100]; 
 
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro 
elemento deste vetor. 
 
 vet[10].aluno.nota=5.7 ; 
 aluno.vet[10].nota=5.7; 
 vet[10].nota=5.7; 
 vet[10]=aluno.5.7; 
 aluno.vet[10]=5.7; 
 
 
 
 
 
 5
a
 Questão (Ref.: 201502822569) Fórum de Dúvidas (0) Saiba (0) 
 
Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, 
agrupados sob uma lógica e associados por um nome. 
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição 
de uma estrutura como: 
struct aluno { 
string nome; 
float nota; 
}; 
 
Suponha ainda que exista um vetor desta estrutura, definido como: 
 
aluno vet [100]; 
 
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro 
elemento deste vetor. 
 
 aluno.vet[10].nota=5.7; 
 vet[10]=aluno.5.7; 
 vet[10].nota=5.7; 
 vet[10].aluno.nota=5.7 ; 
 aluno.vet[10]=5.7; 
 
 
 
 
 
 6
a
 Questão (Ref.: 201502880608) Fórum de Dúvidas (0) Saiba (0) 
 
Marque a opção correta, considerando 
 
struct Livro { 
int codigo; 
float preco; 
} liv; 
 
 liv->preco = 30.70; 
 liv.preco = 30.70; 
 Livro.liv.codigo = 12345; 
 Livro.codigo = 12345; 
 Livro->liv.codigo = 12345; 
 
 
 
 
 
 Retornar 
 
 
 
 
 
 
 ESTRUTURA DE DADOS Lupa 
 
 
 
 
 Retornar 
Exercício: CCT0260_EX_A4_2015 Matrícula: 
Aluno(a): Data: 22/09/2015 16:07:50 (Finalizada) 
 
 
 1
a
 Questão (Ref.: 201502208931) Fórum de Dúvidas (1 de 1) Saiba (0) 
 
O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de seus 
elementos o nome e a nota obtida pelo candidato. Deseja-se que este vetor seja ordenado pela nota, em ordem 
decrescente. Sendo o vetor pequeno (poucos elementos), o programador responsável por desenvolver este algoritmo, 
escolheu um método de ordenação que executa os seguintes passos: 
 Selecione candidato com maior nota entre todos e troque-o com o candidato que está na primeira posição do 
vetor; 
 Selecione o segundo maior e troque-o com o candidato que está na segunda posição; 
 Os passos descritos anteriormente são seguidos para a terceira nota, quarta nota e assim por diante até que reste 
apenas um candidato. 
O algoritmo utilizado pelo programador trata-se do método de ordenação denominado: 
 
 Bolha 
 Quicksort 
 Seleção 
 Inserção 
 Heapsort 
 
 Gabarito Comentado 
 
 
 
 
 2
a
 Questão (Ref.: 201502797309) Fórum de Dúvidas (1) Saiba (0) 
 
Qual papel do for mais interno na função ordena abaixo ? 
void ordena( int n, int v[]) 
{ 
 int i, j, x; 
 for (j = 1; j < n; ++j) { 
 x = v[j]; 
 for (i = j-1; i >= 0 && v[i] > x; --i) 
 v[i+1] = v[i]; 
 v[i+1] = x; 
 } 
} 
 
 Encontrar o elmento a ser eliminado do vetor 
 Encontrar o maior valor de x que deve ser inserido em v[0..j-1]. 
 Encontrar o ponto onde v[j] deve ser inserido em v[0..j-1]. 
 Encontrar o menor valor v[j] que deve ser inserido em v[0..j-1]. 
 Encontrar o valor de v[j] deve em v[0..j-1]. 
 
 
 
 
 
 3
a
 Questão (Ref.: 201502794137) Fórum de Dúvidas (1 de 1) Saiba (0) 
 
Em relação à classificação do método de ordenação, assinale abaixo aquele que, durante o processo 
de ordenação, só usa a memória principal: 
 
 Ordenação Eficiente 
 Ordenação Simples Externa 
 Ordenação Simples 
 Ordenação Externa 
 Ordenação Interna 
 
 
 
 
 
 4
a
 Questão (Ref.: 201502209016) Fórum de Dúvidas (1 de 1) Saiba (0) 
 
Os métodos de ordenação são muito utilizados para facilitar a recuperação posterior de itens 
ordenados. Existem vários métodos de ordenação, por esse motivo, assinale corretamente a 
alternativa que mostra o nome do método que utiliza a estratégia de ordenação por trocas de 
vizinhos e é considerado o método mais simples. 
 
 Hash 
 Bolha 
 Inserção 
 Seleção 
 Binária 
 
 Gabarito Comentado 
 
 
 
 
 5
a
 Questão (Ref.: 201502411281)Fórum de Dúvidas (1) Saiba (0) 
 
Entre os diversos algoritmos de pesquisa existentes, certamente os mais famosos são os da 
pesquisa sequencial e o da pesquisa binária. A busca ou pesquisa sequencial pode ser 
aplicada em vetores independente destes estarem ordenados, entretanto a busca binária só se 
aplica em vetores ordenados. 
Seja o vetor A= {10,35,41,55,69,70,98}, suponha que o número 70 foi pesquisado pelo 
algoritmo da busca sequencial e também pelo algoritmo da busca binária, ambos algoritmos 
realizam testes nos elementos do vetor até achar o que procuram ou definirem que o 
elemento não se encontra no vetor. Sendo assim marque a alternativa que expressa o número 
de testes realizados pela busca sequencial e o número de testes realizados pela busca binária, 
respectivamente, até encontrarem o 70. 
 
 6 e 2 
 7 e 1 
 6 e 1 
 5 e 5 
 6 e 4 
 
 Gabarito Comentado 
 
 
 
 
 6
a
 Questão (Ref.: 201502208930) Fórum de Dúvidas (1) Saiba (0) 
 
O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém 
em cada um de seus elementos o número de inscrição, o nome e a nota obtida pelo candidato. Este 
vetor está ordenado pelo número de inscrição. Para realização de uma consulta que, dado um 
número de inscrição, apresenta o nome e nota do candidato, um programador utilizou um algoritmo 
de busca que realiza sucessivas divisões no vetor, comparando o número de inscrição procurado 
com o número de inscrição do candidato posicionado no meio do vetor. Se o candidato posicionado 
do meio do vetor tiver o número de inscrição igual ao número de inscrição procurado, a busca 
termina com sucesso. Caso contrário, se candidato posicionado do meio do vetor tiver número de 
inscrição menor que o procurado, então a busca continua na metade posterior do vetor. E finalmente, 
se candidato posicionado do meio do vetor tiver número de inscrição maior que o procurado, a busca 
continua na metade anterior do vetor. O algoritmo utilizado pelo programador trata-se do método 
denominado busca: 
 
 por comparação. 
 por contagem. 
 linear. 
 randômica. 
 binária. 
 
 Gabarito Comentado 
 
 
 
 
 Retornar 
 
 
 
 
 
 
 
 
 
 ESTRUTURA DE DADOS Lupa 
 
 
 
 
 Retornar 
Exercício: CCT0260_EX_A5_2015 Matrícula: 
Aluno(a): Data: 23/09/2015 08:58:53 (Finalizada) 
 
 
 1
a
 Questão (Ref.: 201502772734) Fórum de Dúvidas (0) Saiba (0) 
 
__________________________ é uma lista linear em que a alocação de memória pode ser estática, 
e que a forma de armazenamento é contígua ou sequencial na memória. Usamos este tipo de lista 
quando se tem em mente um tamanho pré-definido, ou seja, quando se sabe até onde a lista pode 
crescer. 
 
 Lista Não Linear 
 Lista Linear Não Sequencial 
 Lista Linear Sequencial 
 Lista Linear de Alocação de Memória 
 Lista Linear Não Alocada 
 
 
 
 
 
 2
a
 Questão (Ref.: 201502208487) Fórum de Dúvidas (0) Saiba (0) 
 
O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo 
= fim)? 
 
 overflow 
 underflow 
 ordenação 
 remoção 
 inclusão 
 
 Gabarito Comentado 
 
 
 
 
 3
a
 Questão (Ref.: 201502411284) Fórum de Dúvidas (0) Saiba (0) 
 
As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o 
que possibilita a otimização do uso destes dados. Porém, as estruturas guardam características 
especiais na manipulação destes dados, assim deve-se escolher a estrutura certa ou mais adequada 
para uma determinada aplicação. Portanto marque a opção que representa a melhor estrutura, 
quando se tem como requisitos principais o acesso aleatório aos dados e alocação destes de forma 
contínua na memória. 
 
 Lista Sequencial 
 Pilha Sequencial 
 Fila Sequencial 
 Pilha Encadeada 
 Lista Encadeada 
 
 Gabarito Comentado 
 
 
 
 
 4
a
 Questão (Ref.: 201502856553) Fórum de Dúvidas (0) Saiba (0) 
 
Considere uma lista com n livros, em que cada livro é modelado pela struct : 
 
struct Livro { 
 string titulo, editora, autor; 
 float preco; 
}; 
 
A função X abaixo 
 
void X (Livro v[ ], int &n, Livro L) 
{ 
 v[n] = L; 
 n++; 
 cout << "Operação realizada com sucesso."; 
} 
 
implementa a operação de : 
 
 Ordenação por inserção 
 Substituição 
 Inserção 
 Busca 
 Inicialização 
 
 
 
 
 
 5
a
 Questão (Ref.: 201502413768) Fórum de Dúvidas (0) Saiba (0) 
 
 
 
 for (int i = 0; i < n; i++) 
 cout << L.matricula << " " << L.nome << endl; 
 for (int i = 0; i < n; i++) 
 cout << L[i] << endl; 
 for (int i = 0; i < n; i++) 
 cout << L[i].matricula << " " << L[i].nome[30] << endl; 
 for (int i = 0; i < n; i++) 
 cout << L.matricula[i] << " " << L.nome[i] << endl; 
 for (int i = 0; i < n; i++) 
 cout << L[i].matricula << " " << L[i].nome << endl; 
 
 Gabarito Comentado 
 
 
 
 
 6
a
 Questão (Ref.: 201502209031) Fórum de Dúvidas (0) Saiba (0) 
 
Analisando o trecho do algoritmo abaixo, 
 
pode-se afirmar que se trata de uma operação de: 
 
 Inserção de um elemento em uma estrutura LIFO 
 Remoção de um elemento de uma estrutura FIFO 
 Exibição de um elemento em uma estrutura LIFO 
 Inserção de um elemento em uma estrutura FIFO 
 Remoção de um elemento de uma estrutura LIFO 
 
 Gabarito Comentado 
 
 
 
 
 Retornar 
 
 
 
 
 
 
 ESTRUTURA DE DADOS Lupa 
 
 
 
 
 Retornar 
Exercício: CCT0260_EX_A6_2015 Matrícula: 
Aluno(a): Data: 03/10/2015 09:27:55 (Finalizada) 
 
 
 1
a
 Questão (Ref.: 201502411286) Fórum de Dúvidas (0) Saiba (0) 
 
As pilhas sequenciais são estruturas que guardam a ordem reversa dos dados nelas armazenados, 
e isto em muitas ocasiões é muito vantajoso. A operação usada para inserir um elemento X numa 
pilha é conhecida na literatura como PUSH (X). Para remover um elemento de uma pilha a 
operação é o POP( ). Assim estas duas funções devem implentar o algoritmo LIFO (Last In - 
First Out ) ou o último a entrar é o primeiro a sair. Sendo assim se aplicarmos as seguintes 
operações em uma PILHA vazia: 
PUSH(10),PUSH(5),POP(),PUSH(7),POP(),PUSH(2),POP(),POP( ). 
Quais valores restarão na pilha? 
 
 10 e 2 
 Nenhum, a pilha estará vazia. 
 7 e 2 
 Apenas o 2 
 Apenas o 10 
 
 Gabarito Comentado 
 
 
 
 
 2
a
 Questão (Ref.: 201502276137) Fórum de Dúvidas (0) Saiba (0) 
 
Respeitando as ordens de inserção e de retirada dos dados, uma estrutura de: 
 
 fila é também denominada FIFO ou FILO. 
 pilha é também denominada FIFO ou FILO. 
 fila é também denominada FIFO ou LIFO. 
 fila é também denominada LIFO ou LILO. 
 pilha é também denominada LIFO ou FILO. 
 
 Gabarito Comentado 
 
 
 
 
 3
a
 Questão (Ref.: 201502208508) Fórum de Dúvidas (0) Saiba (0) 
 
A estrutura de dados Pilha funciona de acordo com o seguinte fundamento básico: 
 
 O primeiro a entrar é o primeiro a sair. 
 O último a entrar é o último a sair. 
 Quem estra no topo da pilha não sai mais. 
 Tanto o primeiro como o último podem sair primeiro. 
 O primeiro a entrar é o último a sair. 
 
 Gabarito Comentado 
 
 
 
 
 4
a
 Questão (Ref.: 201502276132) Fórum de Dúvidas (0) Saiba (0) 
 
A estrutura de dados do tipo pilha (stack) é um tipo abstrato de dado baseada no princípio: 
 
 Da indiferença.De dividir para conquistar. 
 Da localidade de referência. 
 Last In First Out (LIFO). 
 First In First Out (FIFO). 
 
 Gabarito Comentado 
 
 
 
 
 5
a
 Questão (Ref.: 201502856543) Fórum de Dúvidas (0) Saiba (0) 
 
Considere uma pilha sequencial de números reais representada por 
 
 struct Pilha { 
 int topo; 
 float v[10]; 
 }; 
 
onde temos Pilha p; 
 
Marque a opção que corretamente inicializa a pilha : 
 
 
 
 
 p.topo = -1; 
 
p->topo = 0; 
 
 
 
topo.pilha = -1; 
 
 
 
Pilha.topo = -1; 
 
Pilha.topo = 0; 
 
 
 
 
 
 
 
 6
a
 Questão (Ref.: 201502448871) Fórum de Dúvidas (0) Saiba (0) 
 
Pilhas são estruturas de dados que se utilizam do algoritmo LIFO, last in first 
out, ou melhor, o último a entrar é o primeiro a sair. Desta forma pode-se 
abstrair que existe apenas um local para a saída e a entrada de dados, ou 
seja o topo da pilha. 
Supondo que uma pilha seja implementada por um vetor de inteiros de 
tamanho 10 e que exista uma variável global chamada topo para indexar 
esta posição de entrada e saída de dados e ainda quando esta variável 
assume o valor -1 indica que a pilha está vazia. Marque a opção que melhor 
ilustra a função de exclusão de um dado do vetor pilha, supondo ainda que o 
vetor tenha sido declarado inicialmente de forma global. 
 
 void pop(){ if(topo != -1) pilha[topo-1];} 
 void pop(){ if(pilha != -1) pilha[topo];} 
 void pop(){ if(topo != -1) topo--;} 
 void pop(){ if(pilha != -1) pilha[topo-1];} 
 void pop(){ if(topo != -1) topo++;} 
 
 Gabarito Comentado 
 
 
 
 
 Retornar 
 
 
 
 
 
 
 ESTRUTURA DE DADOS Lupa 
 
 
 
 
 Retornar 
Exercício: CCT0260_EX_A7_2015 Matrícula: 
Aluno(a): Data: 03/10/2015 19:14:28 (Finalizada) 
 
 
 1
a
 Questão (Ref.: 201502799947) Fórum de Dúvidas (0) Saiba (0) 
 
 Assinale a opção que, corretamente, mostra exemplos em que a estrutura de dados fila é usada, de acordo com o 
critério de inserções e remoções que rege tal estrutura. 
 
 Fila de pessoas para tirar o visto e fila de pessoas para usar o caixa eletrônico. 
 Fila de arquivos para impressão e fila de pessoas no caixa de um supermercado. 
 Fila de arquivos para impressão e buffer para gravação de dados em fila. 
 Buffer para gravação de dados em mídia e fila de pessoas para comprar o ticket do metrô. 
 Fila de documentos para xerox e fila de arquivos para impressão. 
 
 
 
 
 
 2
a
 Questão (Ref.: 201502797312) Fórum de Dúvidas (0) Saiba (0) 
 
Ao inserirmos em uma estrutura de dados do tipo fila sequencial os seguintes elementos: A, B, C, D, 
exatamente nesta ordem. E em seguida realizarmos duas operações consecutivas de remoção na fila 
e imediatamente inserirmos dois novos elementos o X e o W. Podedmos afirmar que se realizarmos 
uma nova operação de remoção, o elemento que será removido desta fila sera o: 
 
 A 
 D 
 X 
 C 
 W 
 
 
 
 
 
 3
a
 Questão (Ref.: 201502799973) Fórum de Dúvidas (0) Saiba (0) 
 
Considere uma fila simples F de inteiros, do tipo Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma 
firma de espionagem, desde que haja espaço para um novo agente. Assinale a opção que corretamente enfileira o código de 
um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo. 
struct Fila { in t v[100], inicio, fim; } ; 
Fila F; 
F. inicio = 0; 
F.fim = -1; 
 
 
 
 void enfileirar(Fila &F, int codigo) { 
 if (F.fim == 99) 
 cout << "Não há espaço na firma para mais agentes. " << endl; 
 else 
 F.fim++; 
 F.v[F.fim] = codigo; 
} 
 
 
 void enfileirar(Fila F, int codigo) { 
 F.fim++; 
 F.v[F.fim] = codigo; 
} 
 
 void enfileirar(Fila F, int codigo) { 
 if (F.fim == 100) 
 cout << "Não há espaço na firma para mais agentes. " << endl; 
 else { 
 F.fim++; 
 F.v[F.fim] = codigo; 
 } 
} 
 
 void enfileirar(Fila &F, int codigo) { 
 if (F.fim == 99) 
 cout << "Não há espaço na firma para mais agentes. " << endl; 
 else { 
 F.fim++; 
 F.v[F.fim] = codigo; 
 } 
} 
 
 
void enfileirar(Fila &F, int codigo) { 
 F.v[F.fim] = codigo; 
 F.fim++; 
} 
 
 
 
 
 
 4
a
 Questão (Ref.: 201502794139) Fórum de Dúvidas (0) Saiba (0) 
 
O que acontece quando se deseja inserir um elemento em uma FILA que já está cheia? 
 
 Dequeue. 
 A inserção é feita sem problema. 
 Underflow. 
 Enqueue. 
 Overflow. 
 
 
 
 
 
 5
a
 Questão (Ref.: 201502209012) Fórum de Dúvidas (0) Saiba (0) 
 
As estruturas de dados podem ser do tipo estática e dinâmica. As listas são estruturas parecidas com 
vetores podendo ser do tipo dinâmica. Entretanto, existem várias implementações de estruturas do 
tipo listas. Dessa forma, a estrutura que para o acesso de um dado, este precisa estar na saída, caso 
contrário, precisa remover os elementos a sua frente, é chamada de: 
 
 Bolha 
 Pilha 
 Struct 
 Matriz 
 Fila 
 
 Gabarito Comentado 
 
 
 
 
 6
a
 Questão (Ref.: 201502208524) Fórum de Dúvidas (0) Saiba (0) 
 
Um banco adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema 
I atende todas pessoas que não possuem atendimento prioritário. O sistema II atende somente 
pessoas com atendimento prioritário. Nessa situação, 
 
 Tanto o sistema I, quanto o II, adota o esquema FIFO de organização de dados. 
 Tanto o sistema I, quanto o II, adota o esquema lista duplamente encadeada de 
organização de dados. 
 O sistema I adota o esquema FIFO de organização de dados e o II, o esquema LIFO. 
 Tanto o sistema I, quanto o II, adota o esquema LIFO de organização de dados. 
 O sistema I adota o esquema LIFO de organização de dados e o II o esquema FIFO. 
 
 
 
 
 
 Retornar 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 ESTRUTURA DE DADOS Lupa 
 
 
 
 
 Retornar 
Exercício: CCT0260_EX_A8_2015 Matrícula: 
Aluno(a): Data: 04/10/2015 12:21:42 (Finalizada) 
 
 
 1
a
 Questão (Ref.: 201502212082) Fórum de Dúvidas (0) Saiba (0) 
 
Em algumas situações, principalmente na utilização de listas, há a necessidade de posicionar o 
ponteiro em determinado local da lista. Dessa forma, analisando o trecho de código abaixo, que 
mostra uma função, assinale a alternativa correta que descreve o objetivo desta. Sabe-se que o sinal 
de asterisco (*) sinaliza um ponteiro. 
void funcao (Nodo **P){ 
 if ( *P != NULL ){ 
 while ( (*P) -> Anterior != NULL ) 
 *P= (*P) -> Anterior; 
 } 
} 
 
 Colocar o valor NULL em todos os ponteiros 
 Posicionar o ponteiro no início da lista 
 Posicionar o ponteiro onde houver o valor NULL 
 Posicionar o ponteiro no final da lista 
 Posicionar o ponteiro no meio da lista 
 
 Gabarito Comentado 
 
 
 
 
 2
a
 Questão (Ref.: 201502208827) Fórum de Dúvidas (0) Saiba (0) 
 
Marque a afirmativa que represente uma concatenação em listas. 
 
 Intercalar a ordem dos dados da lista do final para o início, atualizando a lista. 
 Alterar a ordem dos dados da lista do final para o início, atualizando a lista. 
 Juntar duas listas, colocando uma lista no final de outra, obtendo, ao final, uma só lista 
resultante. 
 Organizar os dados da listaem ordem crescente ou decrescente. 
 Consiste em dividir a lista em duas outras listas. A quantidade de nós que cada lista terá, 
depende da necessidade. 
 
 Gabarito Comentado 
 
 
 
 
 3
a
 Questão (Ref.: 201502750448) Fórum de Dúvidas (0) Saiba (0) 
 
Podemos dizer que uma lista encadeada tem as seguintes características: 
i) conhecida como lista ligada. 
ii) seus nós são responsáveis para manter a sequência da lista. 
iii) o último nó deve apontar para NULL. 
Assinale a alternativa que informa as afirmativas corretas. 
 
 Somente a afirmativa i esta correta. 
 Somente as afirmativas i e ii estão corretas. 
 Somente a afirmativa iii esta correta. 
 Todas as afirmativas estão incorretas. 
 Todas as afirmativas estão corretas. 
 
 Gabarito Comentado 
 
 
 
 
 4
a
 Questão (Ref.: 201502831413) Fórum de Dúvidas (0) Saiba (0) 
 
Em uma aplicação que usa processos de alocação estática e dinâmica de memória é correto afirmar 
que 
 
 Apenas a memória associada às variáveis do tipo vetor é alocada após o inicio da execução da 
aplicação 
 Todas as afirmações acima são incorretas 
 Toda a memória utilizada pela aplicação não muda durante toda a sua execução 
 A memória utilizada pela aplicação é totalmente alocada após o inicio de sua execução 
 A memória utilizada pela aplicação é inicialmente estática, mas pode mudar 
 
 
 
 
 
 5
a
 Questão (Ref.: 201502800028) Fórum de Dúvidas (0) Saiba (0) 
 
Considere uma lista simplesmente encadeada com placas de carros. Assinale a opção que, corretamente, imprime todas as 
placas da lista. Considere : 
struct no { 
 string placa; 
 struct no *link; 
}; 
no *p; //p aponta para o início da lista 
 
 
 
 void imprimir(no *p) { 
 if (p != NULL) { 
 cout << pplaca; 
 p = plink; 
 } 
} 
 void imprimir(no *p) { 
 while (p != NULL) { 
 cout << pplaca; 
 p = plink; 
} 
} 
 
 
void imprimir(no p) { 
 while (p != NULL) { 
 cout << pno; 
 p = plink; 
 } 
} 
 
 void imprimir(no *p) { 
 while (p != NULL) { 
 cout << pplaca; 
 } 
} 
 
 
void imprimir(no *p) { 
 while (p != NULL) { 
 cout << p.placa; 
 p = p.link; 
 } 
} 
 
 
 
 
 
 6
a
 Questão (Ref.: 201502448023) Fórum de Dúvidas (0) Saiba (0) 
 
Dr. Pei Tam possui uma lista não ordenada de pacientes de seu consultório em que registra apenas 
o nome endereço e o telefone de cada paciente. Como não há limites para o crescimento de sua 
lista, como se pode implementar a inserção de um novo paciente na lista, sabendo que cada 
paciente é do tipo Paciente e a lista é do tipo List assim definidos : 
struct Paciente { 
 long int matricula; 
 string nome, endereco e tel; 
}; 
struct List { 
 Paciente p; 
 struct List *link; 
 }; 
 
 List * inserePac(List *i, Paciente pt) 
{ 
 List *novo = new List; 
 novo->p = pt; 
 novo->link =i; 
 return novo; 
} 
 List insereCliente(List *i, Paciente pac) 
{ 
 List novo[]; 
 novo[0].p = pac; 
 novo[0].link = i; 
 return novo; 
} 
 List * inserePac(List *i, Paciente pt){ 
 List *novo ; 
 novo->p = pt; 
 novo->link = i; 
 return novo; 
} 
 List * inserePac(List *i) { 
 List *novo = new List; 
 Paciente pat; 
 novo->p = pat; 
 novo->link = i; 
 return novo; 
} 
 List * inserePac(List *i, Paciente pac) 
{ 
 List *novo = new List; 
 novo.p = pac; 
 novo.link = i; 
 return novo; 
} 
 
 Gabarito Comentado 
 
 
 
 
 Retornar 
 
 
 
 
 
 
 ESTRUTURA DE DADOS Lupa 
 
 
 
 
 Retornar 
Exercício: CCT0260_EX_A9_2015 Matrícula: 
Aluno(a): Data: 13/10/2015 20:06:05 (Finalizada) 
 
 
 1
a
 Questão (Ref.: 201502831398) Fórum de Dúvidas (0) Saiba (0) 
 
Assumindo que estamos com uma estrutura de dados do tipo FIFO, as operações abaixo vão resultar 
em que elementos na mesma: PUSH(2), PUSH(3), PUSH(4), POP(), POP(), PUSH(5), PUSH(7), 
POP() 
 
 2 5 
 3 4 5 
 2 4 7 
 2 3 4 
 5 7 
 
 
 
 
 
 2
a
 Questão (Ref.: 201502786617) Fórum de Dúvidas (0) Saiba (0) 
 
Assinale a característica que NÃO está relacionada às estruturas de dados encadeadas: 
 
 Em geral, marca-se o último elemento com um ponteiro de valor NULL. 
 A memória para armazenar seus elementos é, em geral, alocada com o uso de new. 
 Consomem memória de maneira permanente, só sendo liberadas ao fim do programa. 
 Cada elemento guarda pelo menos um ponteiro para outro elemento da estrutura. 
 A memória ocupada por seus elementos é, em geral, liberada com o uso de delete. 
 
 
 
 
 
 3
a
 Questão (Ref.: 201502831404) Fórum de Dúvidas (0) Saiba (0) 
 
Sobre uma estrutura de dados do tipo LIFO, observe as seguintes afirmações: 
(1) É uma pilha. 
(2) Pode ser uma fila com prioridades 
(3) É uma estrutura onde o primeiro elemento a entrar é o último a sair. 
 
Sobre estas afirmações marque a opção correta: 
 
 Apenas a afirmação (1) é verdadeira 
 Todas as afirmações são verdadeiras 
 Todas as afirmações são falsas 
 Apenas as afirmações (1) e (3) são verdadeiras 
 Apenas a afirmação (3) é verdadeira 
 
 
 
 
 
 4
a
 Questão (Ref.: 201502752129) Fórum de Dúvidas (0) Saiba (0) 
 
Tínhamos declarado um ponteiro de nome ptr e precisávamos construir uma estrutura de repetição que 
pudesse repetir enquanto o ponteiro não fosse nulo. Observe os trechos abaixo e assinale qual a afirmativa 
correta. 
 
I if (ptr !=NULL) 
II if( !ptr ) 
III if(ptr) 
IV while (ptr !=NULL) 
V while (ptr) 
 
 I e II estão corretas. 
 III e V estão corretas 
 IV e V estão corretas. 
 III está correta 
 I e IV estão corretas 
 
 Gabarito Comentado 
 
 
 
 
 5
a
 Questão (Ref.: 201502880615) Fórum de Dúvidas (0) Saiba (0) 
 
Para converter de decimal para binário usamos a estrutura de dados pilha. Assinale a opção que, 
corretamente, indica as ações corretas para empilhar o resto da divisão gerado no processo de 
conversão, considerando uma lista simplesmente encadeada. Considere o tipo definido abaixo : 
 
struct no { 
int dado; 
struct no *link; 
}; 
 
 Basta alocar memória com new e armazenar o resto da divisão do número por 2 no campo 
dado do novo nó . 
 Basta alocar memória com new, armazenar o resto da divisão do número por 2 no campo 
dado do novo nó e aterrar o link do novo nó. 
 Não é necessário alocar memória com new. Basta criar uma struct do tipo no, armazenar o 
resto da divisão número por 2 no campo dado e aterrar o campo link. 
 É preciso alocar memória com new, armazenar o resto da divisão do número por 2 no 
campo dado do novo nó, apontar o link do novo nó para o início da lista e enfim, retornar o 
ponteiro para o novo nó. 
 É preciso armazenar o resto da divisão do número por 2 no campo dado do primeiro nó da 
lista e retornar o ponteiro para este nó. 
 
 
 
 
 
 6
a
 Questão (Ref.: 201502880493) Fórum de Dúvidas (0) Saiba (0) 
 
Sabendo que uma fila encadeada possui seus nós definidos pela : 
 
struct no { 
int x; 
no *prox; 
}; 
 
Marque a alternativa que representa corretamente a criação ou alocação do nó nasintaxe do C++ 
para utilização na fila. 
 
 no *p=new no; 
 no *p -> new no; 
 p *no -> new no; 
 p *no=new no; 
 no p -> new no; 
 
 
 
 
 
 Retornar 
 
 
 
 
 
 
 
 
 
 
 ESTRUTURA DE DADOS Lupa 
 
 
 
 
 Retornar 
Exercício: CCT0260_EX_A10_2015 Matrícula: 
Aluno(a): Data: 13/10/2015 21:41:34 (Finalizada) 
 
 
 1
a
 Questão (Ref.: 201502872960) Fórum de Dúvidas (0) Saiba (0) 
 
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; 
 
 Fila 
 Matriz 
 Lista encadeada 
 Lista duplamente encadeada 
 Pilha 
 
 
 
 
 
 2
a
 Questão (Ref.: 201502822587) Fórum de Dúvidas (0) Saiba (0) 
 
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 removem o nodo apontado pelo ponteiro p. 
 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 possibilitam a busca de um nodo apontado pelo ponteiro p. 
 
 
 
 
 
 3
a
 Questão (Ref.: 201502421565) Fórum de Dúvidas (0) Saiba (0) 
 
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 *insereFim(listaDE *LISTA, int valor); 
 void exibeIpF(listaDE *LISTA); 
 listaDE *insereInicio(listaDE *LISTA, int valor); 
 listaDE *remove(listaDE *LISTA, int valor); 
 listaDE *busca (listaDE *LISTA, int valor); 
 
 Gabarito Comentado 
 
 
 
 
 4
a
 Questão (Ref.: 201502208687) Fórum de Dúvidas (0) Saiba (0) 
 
Em uma lista linear duplamente encadeada. 
 
 Além do campo relativo ao dado, cada nó possui dois ponteiros. 
 O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista. 
 Cada ponteiro possui um só endereço que referencia o primeiro nó da lista. 
 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. 
 
 Gabarito Comentado 
 
 
 
 
 5
a
 Questão (Ref.: 201502200625) Fórum de Dúvidas (0) Saiba (0) 
 
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. 
 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. 
 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 
 
 
 
 
 6
a
 Questão (Ref.: 201502856549) Fórum de Dúvidas (0) Saiba (0) 
 
 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; 
 
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; 
 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; 
 
 
 
 
 
 Retornar

Outros materiais