Eliminar el ultimo en una lista dinamica

Eliminar el ultimo en una lista dinamica

Notapor Ranmy » Lun Dic 28, 2009 12:01 pm

Buenas, antes de todo decir ke soy nuevo en esto asi que no tengo mucha idea^^.
Me ha propuesto un ejercicio el cual consiste en borrar el ultimo numero de una lista dinamica con apuntadores.
Y el caso es que no se hacerlo. Aquí está el programa que tenía pensado utilizar:

with tipos; Use tipos;

Procedure Elimina_ultimo (L: in out a_entero)is

ant , act : a_entero:= L;

begin

While act /= null loop
ant:= act;-- anterior por detras del actual
act:= act.sig;
end loop;

ant:= null;


end Elimina_ultimo;


El problema que tengo es que el apuntador act queda apuntando a el null que indica que la lista ha terminado y el ant queda apuntando al último. Con eso no consigo borrar el último ya que necesitaria que un apuntador que apuntara al penultimo para hacer ant.sig:=null; bueno si la solución es mas sencilla y alguien me echa una mano para hacer este programilla se lo agradecería ^.^.

Gracias!!!
Ranmy
Nuevo miembro
 
Mensajes: 1
Registrado: Lun Dic 28, 2009 11:43 am

Volver a ADA

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado