Conceptos Fundamentales
Inserción por la Cabeza
- Creamos el nuevo nodo (reservar memoria).
- Almacenar el dato en el campo correspondiente (datos).
- Como el nuevo nodo será el primero, su campo enlace apuntará al hasta
ahora primer nodo.
- El enlace externo (lista), deberá apuntar ahora al nuevo nodo.
Inserción por el Final
- Creamos el nuevo nodo (reservar memoria).
- Introducimos los nuevos datos en el campo de datos.
- Se asigna NIL a su campo enlace (ya que será el último).
- Iniciamos el puntero auxiliar Actual para que apunte al primer elemento de la lista.
- Hacemos avanzar este puntero hasta que alcance el final.
- Realizamos el enlace entre el último elemento de la lista y el nuevo nodo.
Suprimir por la Cabeza
- Almacenamos la dirección del primer elemento, apuntando por la variable lista, en un puntero auxiliar (actual), actual:=lista
- Asignamos el parámetro formal dato, el valor almacenado en el elemento auxiliar.
- Se realiza la asignación de la lista al nuevo primer elemento (lista:=lista.enlace)
- Se libera la memoria del nodo que ya no pertenece a la lista.
Suprimir por el Final
- Iniciamos los punteros.
- Recorrido de la lista hasta alcanzar el final.
- Recuperamos el dato almacenado en el último nodo.
- Eliminamos el nodo y marcación del nuevo último nodo.
- Liberamos la memoria del nodo.