Pilhas e filas
Entenda as estruturas de dados pilha (LIFO) e fila (FIFO) e suas aplicações.
Pilhas e filas é uma aula grátis de C Academy no CoddyKit. Esta é a aula 2 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.
Pilhas e filas em C
Pilhas e filas em C
Pilhas e filas são estruturas de dados lineares usadas para armazenar e gerenciar dados.
Nesta lição, você aprenderá:
- Como as pilhas funcionam (LIFO - último a entrar, primeiro a sair).
- Como as filas funcionam (FIFO - primeiro a entrar, primeiro a sair).
- Como implementar pilhas e filas em C.

O que é uma pilha?
O que é uma pilha?
Uma pilha segue o princípio Último a entrar, primeiro a sair (LIFO).
Operações:
- Empilhar - Adicionar um elemento ao topo.
- Desempilhar - Remover o elemento do topo.
- Consultar - Visualizar o elemento do topo sem removê-lo.
Exemplo: implementando uma pilha
Exemplo: implementando uma pilha
Este programa demonstra operações de pilha usando um vetor.
#include <stdio.h>
#define MAX 5
int stack[MAX], top = -1;
void push(int value) {
if (top == MAX - 1) {
printf("Stack Overflow\n");
} else {
stack[++top] = value;
}
}
int pop() {
if (top == -1) {
printf("Stack Underflow\n");
return -1;
} else {
return stack[top--];
}
}
int main() {
push(10);
push(20);
printf("Popped: %d\n", pop());
return 0;
}O que é uma fila?
O que é uma fila?
Uma fila segue o princípio Primeiro a entrar, primeiro a sair (FIFO).
Operações:
- Enfileirar - Adicionar um elemento ao fim.
- Desenfileirar - Remover um elemento do início.
- Consultar - Visualizar o elemento do início sem removê-lo.
Exemplo: implementando uma fila
Exemplo: implementando uma fila
Este programa demonstra operações de fila usando um vetor.
#include <stdio.h>
#define MAX 5
int queue[MAX], front = -1, rear = -1;
void enqueue(int value) {
if (rear == MAX - 1) {
printf("Queue Overflow\n");
} else {
if (front == -1) front = 0;
queue[++rear] = value;
}
}
int dequeue() {
if (front == -1 || front > rear) {
printf("Queue Underflow\n");
return -1;
} else {
return queue[front++];
}
}
int main() {
enqueue(10);
enqueue(20);
printf("Dequeued: %d\n", dequeue());
return 0;
}Fila circular
Fila circular
Uma fila circular supera as limitações de uma fila normal reutilizando os espaços vazios.
As operações permanecem as mesmas, mas percorrem o vetor de forma circular.
Exemplo: fila circular
Exemplo: fila circular
Este programa demonstra a implementação de uma fila circular.
#include <stdio.h>
#define MAX 5
int queue[MAX], front = -1, rear = -1;
void enqueue(int value) {
if ((rear + 1) % MAX == front) {
printf("Queue Overflow\n");
} else {
if (front == -1) front = 0;
rear = (rear + 1) % MAX;
queue[rear] = value;
}
}
int dequeue() {
if (front == -1) {
printf("Queue Underflow\n");
return -1;
}
int data = queue[front];
if (front == rear) {
front = rear = -1;
} else {
front = (front + 1) % MAX;
}
return data;
}
int main() {
enqueue(10);
enqueue(20);
printf("Dequeued: %d\n", dequeue());
return 0;
}Aplicações de pilhas e filas
Aplicações de pilhas e filas
As pilhas são usadas em:
- Gerenciamento de chamadas de funções (recursão).
- Operações de desfazer e refazer.
- Avaliação de expressões.
As filas são usadas em:
- Agendamento de tarefas em sistemas operacionais.
- Gerenciamento de solicitações em servidores web.
- Transferência de dados em redes.
Resumo
Resumo
Nesta lição, você aprendeu:
- Como as pilhas e filas funcionam.
- Como implementar operações de pilha e fila.
- As aplicações de pilhas e filas.
Em seguida, você explorará árvores e grafos em C!

Perguntas Frequentes
A aula “Pilhas e filas” é grátis?
Sim — o texto completo de “Pilhas e filas” é 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 “Pilhas e filas”?
Entenda as estruturas de dados pilha (LIFO) e fila (FIFO) e suas aplicações. 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 2 de 3.
Quanto tempo leva a aula “Pilhas e filas”?
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