Listas encadeadas
Aprenda como funcionam as listas encadeadas e como implementar operações como inserção e exclusão.
Listas encadeadas é uma aula grátis de C Academy no CoddyKit. Esta é a aula 1 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C Academy inclui 3 aulas no total.
Listas encadeadas em C
Listas encadeadas em C
Uma lista encadeada é uma estrutura de dados dinâmica na qual os elementos (nós) são conectados usando ponteiros.
Nesta lição, você aprenderá:
- Como as listas encadeadas funcionam.
- Como inserir e excluir nós em uma lista encadeada.
- As vantagens das listas encadeadas em relação aos vetores.

Exemplo: definindo um Node de lista encadeada
Exemplo: definindo um Node de lista encadeada
Em C, um nó de lista encadeada é definido usando uma struct com um campo de dados e um ponteiro para o próximo nó.
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node *next;
};
int main() {
struct Node *head = NULL;
return 0;
}Inserindo um Node no início
Inserindo um Node no início
Para inserir um novo nó no início de uma lista encadeada:
- Crie um novo nó.
- Defina o ponteiro
nextdele para o início atual. - Atualize o ponteiro inicial.
Exemplo: inserindo um Node no início
Exemplo: inserindo um Node no início
Este programa insere um novo nó no início de uma lista encadeada.
#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;
}Excluindo um Node
Excluindo um Node
Para excluir um nó de uma lista encadeada:
- Encontre o nó que será excluído.
- Atualize o ponteiro
nextdo nó anterior. - Libere a memória do nó excluído.
Exemplo: excluindo um Node
Exemplo: excluindo um Node
Este programa exclui um nó de uma lista encadeada.
#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;
}Vantagens das listas encadeadas
Vantagens das listas encadeadas
As listas encadeadas têm várias vantagens em relação aos vetores:
- Tamanho dinâmico (não é necessário especificar o tamanho antecipadamente).
- Inserções e exclusões eficientes.
- Não há desperdício de memória causado por tamanhos fixos.
Resumo
Resumo
Nesta lição, você aprendeu:
- O que são listas encadeadas e como elas funcionam.
- Como inserir e excluir nós.
- As vantagens das listas encadeadas em relação aos vetores.
Em seguida, você explorará pilhas e filas em C!

Perguntas Frequentes
A aula “Listas encadeadas” é grátis?
Sim — o texto completo de “Listas encadeadas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C Academy, atualize para CoddyKit PRO. O curso de C Academy inclui 3 aulas no total.
O que vou aprender em “Listas encadeadas”?
Aprenda como funcionam as listas encadeadas e como implementar operações como inserção e exclusão. Você pratica C Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar C Academy?
Nenhuma experiência prévia é necessária. C Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 3.
Quanto tempo leva a aula “Listas encadeadas”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de C Academy?
Sim. Cada aula de C Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Listas encadeadas
- Pilhas e filas
- Árvores e grafos