Buscar

ESTRUTURA DE DADOS exercícios aula 8

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 5 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

Prévia do material em texto

Parte superior do formulário
	
	
	
		 
	ESTRUTURA DE DADOS
8a aula
		
	 
	Lupa
	 
	 
	
Vídeo
	
PPT
	
MP3
	 
	
	
	 
	
	
	
	
	
	 1a Questão (Ref.: 201704099084)
	 Fórum de Dúvidas (0)       Saiba  (0)
	
	Assumindo que um valor do tipo inteiro ocupa 4 bytes na memória, e se baseando nas linhas de código abaixo, marque a alternativa correta:
int *p;
p = (int *)malloc(20*sizeof(int));
		
	
	Atribuição ao ponteiro ¿p¿ de um endereço estático de memória
	 
	Alocação dinâmica de 80 bytes na memória
	
	Alocação dinâmica 20 bytes na memória
	
	Alocação dinâmica de espaço de memória suficiente para armazenar 20 x 4 valores inteiros
	
	A operação é inválida
	
	
	
	
	 2a Questão (Ref.: 201704018123)
	 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 a afirmativa iii esta correta.
	
	Somente as afirmativas i e ii estão corretas.
	
	Todas as afirmativas estão incorretas.
	 
	Todas as afirmativas estão corretas.
	
	 Gabarito Comentado
	
	
	 3a Questão (Ref.: 201703714563)
	 Fórum de Dúvidas (0)       Saiba  (0)
	
	Montei uma biblioteca popular que aceita doações sem limites. Marque a opção que especifica o tipo de lista e o tipo de alocação de memória mais adequados para este problema.
		
	
	fila encadeada e alocação dinâmica de memória
	
	fila dinâmica e alocação dinâmica de memória
	
	lista sequencial e alocação dinâmica de memória
	
	pilha dinâmica e alocação dinâmica de memória
	 
	lista encadeada e alocação dinâmica de memória
	
	 Gabarito Comentado
	
	
	 4a Questão (Ref.: 201703709693)
	 Fórum de Dúvidas (0)       Saiba  (0)
	
	QUAL A SAÍDA DESTE PROGRAMA?
#include 
main()
{
 int i=10,*p;
 p=&i;
 
 cout << *p << " " << i + *p<< " " << *p**p << " " << i+**&p;
 system("pause");
}
		
	
	10 20 100 22
	 
	10 20 100 20
	
	10 25 100 30
	
	10 24 102 25
	
	10 20 104 22
	
	
	
	
	 5a Questão (Ref.: 201703715692)
	 Fórum de Dúvidas (0)       Saiba  (0)
	
	   Tenho uma lista não ordenada de clientes em que registro apenas a matrícula, o nome,  o endereço e o telefone de cada cliente. Como não tenho limites para o crescimento da minha lista, como posso implementar a inserção de um novo cliente na lista, sabendo que cada cliente é do tipo Cliente e a lista é do tipo Lista assim definidos :
struct Cliente {
     long int matricula;
      string nome, endereco, tel;
};
struct Lista {
                           Cliente c;
                           struct Lista *link;
                  };
		
	
	Lista * insereCliente(Lista *p)  {
      Lista *novo = new Lista;
     Cliente cl;
      novo->c = cl;
      novo->link = p;
     return novo;
}
	
	Lista * insereCliente(Lista *p, Cliente cl)
{
      Lista *novo ;
      novo->c = cl;
      novo->link = p;
     return novo;
}
	 
	Lista * insereCliente(Lista *p, Cliente cl)
{
      Lista *novo = new Lista;
      novo->c = cl;
      novo->link = p;
     return novo;
}
	
	Lista  insereCliente(Lista *p, Cliente cl)
{
      Lista  novo[];
      novo[0].c = cl;
      novo[0].link = p;
     return novo;
}
                    
	
	 Lista * insereCliente(Lista *p, Cliente cl)
{
      Lista *novo = new Lista;
      novo.c = cl;
      novo.link = p;
     return novo;
}
	
	 Gabarito Comentado
	
	
	 6a Questão (Ref.: 201704015258)
	 Fórum de Dúvidas (0)       Saiba  (0)
	
	Na Alocação dinâmica, temos alguma regras a considerar. Leia atentamente as afirmativas abaixo e assinale a correta.
I Alocou com new, desaloca com free
II Alocou com new[], desaloca com delete
III Alocou com new[], desaloca com delete[]
IV Alocou com new[], desaloca com free[]
V Alocou com new, desaloca com delete
		
	 
	III e V estão corretas
	
	I e III estão corretas
	 
	I e IV estão corretas
	
	I, II, III e V estão corretas
	
	II e V estão corretas
	
	
	
	
	 7a Questão (Ref.: 201704015264)
	 Fórum de Dúvidas (0)       Saiba  (0)
	
	Numa Lista Encadeada, podemos afirmar que:
I) Todos os nós são alocados de uma única vez.
II) Os nós não são alocados contiguamente na memória obrigatoriamente.
III) Os elementos de uma lista encadeada são ligados por dois ponteiros.
IV) Para que possamos percorrer toda a lista, precisamos armazenar o endereço do próximo elemento para possibilitar o encadeamento.
		
	
	I, II, III e IV estão corretas
	
	I, III e IV estão corretas
	 
	II e IV estão corretas
	
	I , II e III estão corretas
	
	Só a II está correta
	
	 Gabarito Comentado
	
	
	 8a Questão (Ref.: 201703476503)
	 Fórum de Dúvidas (0)       Saiba  (0)
	
	Marque a afirmativa que represente uma separação.
		
	
	Organizar os dados da lista em ordem crescente ou decrescente.
	
	Juntar duas listas, colocando uma lista no final de outra, obtendo, ao final, uma só lista resultante.
	
	Alterar a ordem dos dados da lista do final para o início, atualizando a lista.
	 
	Consiste em dividir a lista em duas outras listas. A quantidade de nós que cada lista terá, depende da necessidade.
	
	Intercalar a ordem dos dados da lista do final para o início, atualizando a lista.
	
	 Gabarito Comentado
	
	
	
	
Parte inferior do formulário

Outros materiais