[Consulta general] - Listas

[Consulta general] - Listas

de Bruno Sena Giuggiolini -
Número de respuestas: 1

Dada una variable de tipo lista simplemente enlazada es valido hacer esto para devolver una lista? 

...

cont:= ...;

lres:=iter;

WHILE cont > 0 DO

  cont:= cont - 1;

  NEW(iter);

  iter^.elem:= cont;

  iter^.sig:= NIL;

  iter:= iter^.sig

END;

RETURN lres;

END ...;


En respuesta a Bruno Sena Giuggiolini

Re: [Consulta general] - Listas

de Marcos Viera - InCo -

El código anterior inicializa "lres" con un valor no determinado (dado que no sabemos el valor de "iter"), luego pide memoria "cont" veces que queda no referenciada (dado que la variable iter se pasa inmediatamente a apuntar a NIL) y finalmente retorna el valor inicial de lres, el cual no conocemos.

Te sugiero analizar el código haciendo los dibujos de la memoria solicitada y de qué punteros la van a apuntando en la ejecución.


saludos