INSTRUÇÃO: Nas questões 31 e 32, considere que: ·
NIL represente a referência nula;
· Node seja um tipo registro que representa um nodo de lista simplesmente encadeada com os campos value, representando o valor armazenado, e next, representando um apontador para o nodo seguinte na lista;
· List seja um tipo registro que representa uma lista simplesmente encadeada nãocircular com nodo sentinela (ou cabeça); neste registro, o campo sentinel representa o nodo sentinela da lista;
· newNode(x,n) cria um novo nodo cujo campo value contém o valor x e cujo campo next aponta para o nodo apontado por n; esta função retorna um apontador para o novo nodo criado.
Considere que, no algoritmo em alto nível
incompleto a seguir, L1 e L2 sejam apontadores para List, de modo que L2 seja inicialmente vazia, e A, B e C sejam apontadores para Node: Se o objetivo desse algoritmo for "fazer com que L2 seja uma cópia invertida da lista L1", então o código representado por [código que falta] deve ser substituído por:C := newNode(A^.value, B^.next);
B^.next := C;
A := A^.next;
C := newNode(A^.value, B^.next);
B^.next := C;
A := A^.next; B := C;
C := newNode(B^.value, B^.next);
A^.next := C;
A := A^.next;
C := newNode(A^.value, A^.next);
A^.next := A;
B := C;
{TITLE}
{CONTENT}
{TITLE}
Aguarde, enviando solicitação...