Buscar

Questão 2/5 - Estrutura de Dados?

Questão 2/5 - Estrutura de Dados

No terceiro assunto da disciplina estudamos a estrutura de dados do tipo lista encadeada. O código abaixo representa a inserção em uma posição específica da lista encadeada simples.

1. NovoElemento->dado = numero
2. se (posicao == 0) então
3.      Head = NovoElemento
4.      Head->prox = NULO
5. Senão
6.      ElementoVarredura = Head
7.      para i de 0 até posicao faça
8.           ElementoVarredura = ElementoVarredura->prox
9.      Fimpara
10.    ElementoAuxiliar = ElementoVarredura->prox
11.    ElementoVarredura->prox = NovoElemento
12.    NovoElemento->prox = ElementoAuxiliar
13. Fimse

Considerando que NovoElemento é um novo elemento que será inserido nesta lista, ElementoVarredura é uma variável que servirá para localizar o local de inserção, ElementoAuxiliar é uma variável temporária para auxiliar na inserção do dado, Head caracteriza o primeiro elemento da lista e prox é o ponteiro para o próximo elemento da lista. Assinale a alternativa INCORRETA sobre este algoritmo.

  A

Nas linhas 7 a 9 temos o laço de repetição que localiza a posição em que o elemento será inserido.

  B

Na linha 8, a variável ElementoVarredura salta de elemento em elemento da lista, sempre utilizando como referencia o ponteiro para o próximo elemento.

  C

Nas linhas 10, 11 e 12 fazemos uma troca entre 2 valores da lista encadeada utilizando uma variável auxiliar.

  D

Na linha 10 uma variável auxiliar armazena temporariamente o elemento subsequente ao da posição desejada para inserção.

  E

Na linha 12, o novo elemento, agora já inserido na respectiva posição da lista, aponta para o elemento armazenado na variável auxiliar, que corresponde ao elemento subsequente ao da posição inserida.

Respostas

User badge image

Andre Smaira

Nesse exercício vamos estudar lista encadeada.
Vamos comentar o código linha a linha para entendê-lo:

NovoElemento->dado = numero //1-Cria o novo elemento com o valor a ser inserido
se (posicao == 0) então //2-Se posicao de inserção for 0
Head = NovoElemento //3-Adiciona o novo elemento
Head->prox = NULO//4-Próximo é nulo
Senão //5-Se ela não for vazia
ElementoVarredura = Head //6-Elemento de varredura é a posição inicial
para i de 0 até posicao faça //7-Para cada antes da posição de inserção
ElementoVarredura = ElementoVarredura->prox //8-Vai para o próximo elemento
Fimpara
ElementoAuxiliar = ElementoVarredura->prox //10-Auxiliar recebe o proximo elemento
ElementoVarredura->prox = NovoElemento //11-O próximo elemento recebe o elemento a ser inserido
NovoElemento->prox = ElementoAuxiliar //12-O proximo do elemento inserido recebe o próximo
Fimse


Como dito nos comentários, as alternativas A, B, D e E são corretas.
As linhas 10,11 e 12 inserem o novo elemento na lista e não trocam dois elementos como é dito na alternativa C, o que a torna a falsa.
1
Dislike0

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

Responda

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Continue navegando