Añadir un nodo al final de una lista

Procedimiento en Pascal que añade al final de una lista un nodo.

En este caso he supuesto que la lista es una lista de numeros.

TYPE
   T_NODO_NUMEROS = ^NODO_NUMEROS;
   NODO_NUMEROS = RECORD
      num : INTEGER;
      sig : T_NODO_NUMEROS
      END;

      PROCEDURE PON_NODO(VAR lista : T_NODO_NUMEROS,aux:T_NODO_NUMEROS);
var
   aux2: T_NODO_NUMEROS;
BEGIN
   IF lista = NIL THEN lista^.sig:=aux
   ELSE
   BEGIN
      aux2:=lista;
      WHILE aux2^.sig <> NIL DO aux2:=aux2^.sig;
      aux2^.sig:=aux;
   END;
   aux^.sig:=NIL;
END;

Quizá te interese...