馃挬

programierds

Volver al curso
Lecciones 21 / 32

Listas

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.