Listas enlazadas
Aprenda cómo funcionan las listas enlazadas y cómo implementar operaciones como la inserción y la eliminación
Listas enlazadas es una lección gratuita de C Academy en CoddyKit. Esta es la lección 1 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C Academy incluye 3 lecciones en total.
Listas enlazadas en C
Listas enlazadas en C
Una lista enlazada es una estructura de datos dinámica cuyos elementos (nodos) están conectados mediante punteros.
En esta lección, aprenderá:
- Cómo funcionan las listas enlazadas.
- Cómo insertar y eliminar nodos en una lista enlazada.
- Las ventajas de las listas enlazadas frente a los arrays.

Ejemplo: definición de un nodo de una lista enlazada
Ejemplo: definición de un nodo de una lista enlazada
En C, un nodo de una lista enlazada se define mediante una struct con un campo de datos y un puntero al siguiente nodo.
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node *next;
};
int main() {
struct Node *head = NULL;
return 0;
}Insertar un nodo al principio
Insertar un nodo al principio
Para insertar un nodo nuevo al principio de una lista enlazada:
- Cree un nodo nuevo.
- Establezca su puntero
nextpara que apunte al elemento inicial actual. - Actualice el puntero al elemento inicial.
Ejemplo: insertar un nodo al principio
Ejemplo: insertar un nodo al principio
Este programa inserta un nodo nuevo al principio de una lista enlazada.
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node *next;
};
void insertAtBeginning(struct Node **head, int newData) {
struct Node *newNode = (struct Node*)malloc(sizeof(struct Node));
newNode->data = newData;
newNode->next = *head;
*head = newNode;
}
int main() {
struct Node *head = NULL;
insertAtBeginning(&head, 10);
printf("Inserted: %d\n", head->data);
return 0;
}Eliminar un nodo
Eliminar un nodo
Para eliminar un nodo de una lista enlazada:
- Encuentre el nodo que desea eliminar.
- Actualice el puntero
nextdel nodo anterior. - Libere la memoria del nodo eliminado.
Ejemplo: eliminar un nodo
Ejemplo: eliminar un nodo
Este programa elimina un nodo de una lista enlazada.
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node *next;
};
void deleteNode(struct Node **head, int key) {
struct Node *temp = *head, *prev;
if (temp != NULL && temp->data == key) {
*head = temp->next;
free(temp);
return;
}
while (temp != NULL && temp->data != key) {
prev = temp;
temp = temp->next;
}
if (temp == NULL) return;
prev->next = temp->next;
free(temp);
}
int main() {
struct Node *head = (struct Node*)malloc(sizeof(struct Node));
head->data = 10;
head->next = NULL;
deleteNode(&head, 10);
return 0;
}Ventajas de las listas enlazadas
Ventajas de las listas enlazadas
Las listas enlazadas ofrecen varias ventajas frente a los arrays:
- Tamaño dinámico (no es necesario especificar el tamaño de antemano).
- Inserciones y eliminaciones eficientes.
- No se desperdicia memoria debido a los tamaños fijos.
Resumen
Resumen
En esta lección, aprenderá:
- Qué son las listas enlazadas y cómo funcionan.
- Cómo insertar y eliminar nodos.
- Las ventajas de las listas enlazadas frente a los arrays.
A continuación, exploraremos las pilas y las colas en C.

Preguntas frecuentes
¿La lección «Listas enlazadas» es gratis?
Sí — el texto completo de «Listas enlazadas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C Academy, actualiza a CoddyKit PRO. El curso de C Academy incluye 3 lecciones en total.
¿Qué aprenderé en «Listas enlazadas»?
Aprenda cómo funcionan las listas enlazadas y cómo implementar operaciones como la inserción y la eliminación Practicas C Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar C Academy?
No se requiere experiencia previa. C Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 3.
¿Cuánto tiempo toma la lección «Listas enlazadas»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de C Academy?
Sí. Cada lección de C Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Listas enlazadas
- Pilas y colas
- Árboles y grafos