Professional Documents
Culture Documents
) prox (apontador de TipoLista); 2) Criar 4 variveis apontadoras para TipoLista de nomes: primeiro, corrente, ltimo e auxiliar; 3) Considere a seguinte lista encadeada, baseada nos itens 1 e 2.
15
PRIMEIRO
CORRENTE
AUXILIAR
LTIMO
3.1) Faa um trecho de programa que insira um novo elemento na lista aps o elemento apontado por corrente, tornando-o o novo corrente; 3.2) Faa um trecho de programa que elimine o elemento corrente da lista, tornando corrente o elemento seguinte; 3.3) Faa um trecho de programa que elimine o primeiro elemento da lista; 3.4) Faa um trecho de programa que insira um novo elemento no final da lista, tonando-o corrente; 3.5) Faa um trecho de programa que conte o nmero de elementos da lista. Resoluo: Exercicio 1: type p = ^TipoLista; type TipoLista = record info : integer; prox : p; end; Exerccio 2: Var Primeiro, corrente, ultimo, auxiliar : p;
end 3.2)
{considerando a lista, j com o novo elemento incluido no exercicio anterior} begin auxiliar := primeiro^.prox; auxiliar^.prox := corrente^.prox; auxiliar := corrente; corrente := corrente^.prox; dispose(auxiliar); end; 3.2) (considerando o elemento eliminado do exercicio anterior} begin auxiliar := primeiro; primeiro := auxiliar^.prox; dispose(auxiliar); end; 3.3) var novo : p; n : integer; begin readln(n); new(novo); novo^.info := n; novo^.prox := nil; ultimo^.prox := novo; ultimo := novo; corrente := novo; end; 3.4) var cont : integer; begin cont := 0; auxiliar := primeiro; while (auxiliar <> nil) do begin cont := cont + 1; auxiliar := auxiliar^.prox; end; writeln(Numero de elementos da lista = , cont); end;