Informática, perguntado por elisangelarssantos, 11 meses atrás

Em uma lista de registros, duplamente encadeada cada elemento possui em três campos, a saber: proximo - um ponteiro para o elemento posterior, da lista; valor - informação armazenada pelo elemento; anterior - um ponteiro para o elemento anterior da lista. Sendo "pZ" o décimo elemento desta lista e "pX" e "pY" dois outros elementos que não pertencem à lista, considere o trecho de código abaixo, em Linguagem C:

pY->proximo = pX;
pX->anterior = pY;
pZ->proximo = pY;
pZ->proximo->anterior = pZ;

Ao final da execução qual será a sequência dos elementos?
Alternativas
Alternativa 1:
pY antes do pZ, e pX antes do pY.

Alternativa 2:
pY antes do pZ, e pX logo após o pZ.

Alternativa 3:
pX antes do pZ, e pY logo após o pZ.

Alternativa 4:
pY logo após o pZ, e pX logo após o pY.

Alternativa 5:
pX logo após o pZ, e pY logo após o pX.

Soluções para a tarefa

Respondido por rxemestre1
14

Resposta:

Alternativa 4:

pY logo após o pZ, e pX logo após o pY.

Explicação:

Respondido por irisrava
8

Resposta:

Alternativa 4:

pY logo após o pZ, e pX logo após o pY.

Explicação:

Você só tem a posição de pZ que está na lista. Comece por aí:

pZ->proximo->anterior = pZ;   pZ pZ pZ

pZ->proximo = pY;    pZ pZ pZ pY

pY->proximo = pX;    pZ pZ pZ pY pX

pX->anterior = pY;    pZ pZ pZ pY pY pX

Ou seja: pZ, pY e PX

Perguntas interessantes