Listas Ligadas Simples
Definíción I

Es, en sencillas palabras. un grupo de datos organizados secuencialmente,
pero a diferencia de los arreglos, la organización no esta dada
implícitamente por su posición en el arreglo.

En una lista ligada cada elemento es un nodo que contiene el dato y
además una liga al siguiente dato. Estas ligas son simplemente variables que
contienen la(s) dirección(es) de los datos contiguos o relacionados.

Se accede a una lista ligada a través de un apuntador al primer nodo de la
lista.

Para acceder a los nodos subsecuentes, se lleva a cabo a través del miembro
liga almacenado en cada nodo.

El apuntador liga del último nodo de una lista establece en NULL, lo cual
marca el final.
Definición II

Una lista ligada es una colección de estructuras auto referenciadas,
llamadas nodos, que se encuentran conectados por medio de ligas
(apuntadores).

Las estructuras autoreferenciadas contienen un miembro apuntador, el
cual apunta hacia una estructura del mismo tipo.

Por ejemplo:
struct _nodo{
Int nodo;
struct _nodo * ptrSiguiente;
};
Definición III

El miembro ptrSiguiente se conoce como liga, por lo que puede usarse
para unir una estructura de tipo struct _nodo con otra del mismo tipo
struct _nodo.
Definición IV

Una lista ligada es adecuada, cuando el número de elementos a
representar en la estructura de datos es impredecible.

Para crear una lista ligada se requiere de una asignación de memoria
dinámica de memoria, esto quiere decir que un programa tiene la
característica de obtener más espacio de memoria en tiempo de
ejecución.

Esto nos sirve para almacenar nuevos nodos y liberar espacio que ya no
necesario .

Las listas ligadas sólo se llenan cuando el sistema tiene suficiente
memoria.
Definición V



Para la asignación de memoria
dinámica utilizamos las funciones
malloc, free y el operador sizeof.
Malloc toma como argumento el
número de bytes que van a asignarse,
devolviendo un apuntador de tipo
void hacia la memoria asignada.
En el caso de que no pueda asignar
la memoria devuelve un apuntador
de tipo NULL.

Normalmente malloc se utiliza con sizeof.

Por ejemplo:
ptrNuevo = malloc( sizeof( struct nodo ) );

Sizeof evalua a struc nodo para
determinar el tamaño en bytes.

De este modo puede asignar una nueva
área de memoria que coincida con el
numero de bytes.

Finalmente almacena un apuntador a la
memoria asignada a una variable.
Definición VI

La función free libera memoria.

Para liberar memoria dinámica asignada por malloc se utiliza la siguiente
instrucción:
free(elementoALiberar);
Funciones esenciales de una lista.

Las funciones primarias son insertar y eliminar.

La función vacía únicamente determina si hay o no elementos en una
lista.

La función insertar recibe la dirección de la lista y un elemento a insertar.

La función eliminar recibe la dirección de la lista y un elemento a
eliminar.
Descargar

Listas Ligadas Simples