Listas en c
Null
Listas
Simplemente Ligadas
Concepto de Lista
• Una lista enlazada es una de las
estructuras de datos fundamentales, y
consiste en una secuencia de nodos, en los
que seguardan datos de información y un
campo “liga” de tipo puntero que se utiliza
para establecer un enlace con otro nodo
de la lista. El principal beneficio de las
listas enlazadas respecto a losarreglos
convencionales es que el orden de los
elementos enlazados puede ser diferente
al orden de almacenamiento.
Lista
• Una lista enlazada es un tipo de dato
auto-referenciado porque contienenun
puntero o link a otro dato del mismo tipo.
Las listas enlazadas permiten inserciones y
eliminación de nodos en cualquier punto
de la lista.
Existen diferentes tipos de listas enlazadas:
–
––
–
Lista Simplemente Enlazadas
Listas Doblemente Enlazadas
Listas Enlazadas Circulares
Dato
Listas Enlazadas Doblemente Circulares.
Dato
Dato
Dato
Null
Dato
Operacionesbásicas de una lista
simplemente ligada
• Recorrer los elementos hacia adelante
• Insertar un nuevo elemento
–
–
–
–
Al principio
Al final
Antes de otro
Después de otro
• Remover unelemento
–
–
–
–
Al principio
Que esta antes que otro
Que esta después de otro
Del final
• Buscar un elemento de la lista
Creación de nodos
Primero se crean las estructuras con los camposque se requiere que contengan
cada uno de los nodos
Una forma es:
struct Nodo
{
int dato;
struct Nodo *siguiente;
};
Y otra forma es:
typedef struct Nodo elementos;
dato sig.typedef struct Nodo
{
int dato;
struct Nodo *siguiente;
}elementos;
Creación del primer elemento
elementos *primero;
primero=NULL;
• O bien
elementos *primero=0;
Null
Reserva de memoriadinámica
• Una vez creado el primer elemento de la lista,
hay que informar al administrador de los
recursos de la maquina que almacene
memoria “indefinida” para los nodos, es decir,
como no...
Regístrate para leer el documento completo.