Las listas enlazadas son estructuras din谩micas. Eso significa que pueden crecer o cambiar durante la ejecuci贸n del programa.
En esta lecci贸n vas a aprender:
- qu茅 es una lista enlazada
- qu茅 es un nodo
- recorrido en listas
- b煤squeda en listas
- inserci贸n en listas
驴Qu茅 es una lista enlazada?
Es una estructura formada por nodos.
Cada nodo suele contener:
- un dato
- un puntero al siguiente nodo
Nodo en C
struct Nodo {
int dato;
struct Nodo* siguiente;
};
Recorrido
Recorrer una lista significa visitar nodo por nodo hasta llegar al final.
actual = cabeza;
while (actual != NULL) {
printf("%d\n", actual->dato);
actual = actual->siguiente;
}
B煤squeda
Buscar en una lista implica recorrerla hasta encontrar el valor buscado.
while (actual != NULL) {
if (actual->dato == buscado) {
encontrado = 1;
}
actual = actual->siguiente;
}
Inserci贸n
Insertar puede hacerse al inicio, al final o en una posici贸n intermedia.
Inserci贸n al inicio
nuevo->siguiente = cabeza;
cabeza = nuevo;
Resumen
- una lista enlazada est谩 formada por nodos
- permite recorrido, b煤squeda e inserci贸n
- es m谩s flexible que un arreglo de tama帽o fijo
Idea final
La lista enlazada muestra un cambio de mentalidad muy fuerte: ya no pens谩s en posiciones fijas, sino en enlaces entre nodos.