Ver Mensaje Individual
  #7  
Antiguo 13-12-2011
sant0s sant0s is offline
Registrado
NULL
 
Registrado: dic 2011
Posts: 6
Reputación: 0
sant0s Va por buen camino
hola, muchas gracias por responder.
el codigo que me presentaste logre hacerlo funcionar, te digo esto por que hubo muchos otros que encontre pero no me invertian la lista. dicho esto en mi lista tu codigo seria el sigt: dado el echo que en mi lista primero es L.

Código Delphi [-]
procedure InvertirLista(var lnodo);
var
  Aux, Prev, Prox: pnodo;
begin
  Aux := l;
  Prev:= nil;
  Prox:= nil;
  while Aux <> nil do
  begin
    Prox := Aux^.sig;
    aux^.sig:= prev;
    Prev:= Aux;
    Aux:= Prox;
  end;
  l:= Prev;
end;

te agradesco mucho por darte el tiempo de responder.
otra cosa, aunque lo hice correr en modo de ejecucion de linea por linea.(F7). no me quedo bien claro la logica del bucle del while. en especial aux^.sig:= prev; prev seria el apuntador ^.sigt de aux

Código Delphi [-]
  while Aux <> nil do
  begin
    Prox := Aux^.sig;
    aux^.sig:= prev;
    Prev:= Aux;
    Aux:= Prox;
  end
;

te agradeceria mucho si me dieras una explicacion.

otro dato.
cuando pongo en comentario la sigt. linea de codigo y ejecuto el programa todo bien.

//Prox:= nil;


pero cuando pongo en comentario la sigt. linea de codigo.

//Prev:= nil;

solo aparece una ventana negra unos instante y desaparece. osea no corre el programa.

y cuando pongo las dos lineas de codigo en comentario

//Prev:= nil;
//Prox:= nil;

lo mismo. solo aparece una ventana negra unos instante y desaparece. osea no corre el programa.

la pregunta seria cual es la importancia de asignarles que sean igual a nil al inicio . si dentro del bucle de while igual le damos una cierta asignacion, puede que sea mi ignorancia pero me queda esa duda.

quisas son una de las muchas preguntas que se hacen todos los que estamos lidiando con este tipo de estructuras. te agradeceria de corazon tu respuesta.

muchas gracias de antemano.

Última edición por sant0s fecha: 13-12-2011 a las 07:28:24.
Responder Con Cita