Edição didática em português. O código e suas saídas preservam o original.
Exemplos de programas em C para executar
Explore quicksort, merge sort e busca binária em C. Leia o código de cada exemplo, execute no compilador e compare os resultados com a entrada fornecida.

Encontre exemplos de quicksort, merge sort e busca binária, além de outros programas do catálogo. Compare as etapas dos algoritmos e acompanhe as mudanças nos dados antes de alterar o código.
Abra o assunto que deseja praticar e leia a explicação antes de testar o código. Use os controles do bloco de código para abri-lo no compilador, forneça a entrada necessária e compare a saída. Altere um valor por vez para entender o comportamento do programa.
Quicksort em C
Ordene um array por particionamento e recursão; entenda o pivô e os casos desfavoráveis.
Merge sort em C
Divida, ordene e intercale arrays com tempo de O(N log N).
Busca binária em C
Encontre um valor em um array ordenado reduzindo o intervalo de busca pela metade.
Lista simplesmente encadeada em C
Crie, percorra e libere nós ligados por ponteiros.
Lista duplamente encadeada em C
Mantenha ligações para frente e para trás ao inserir e remover nós.
Árvore binária de busca em C
Insira e busque chaves usando a ordem das subárvores.
Pilha em C: último a entrar, primeiro a sair
Implemente push, pop e consulta ao topo com limites explícitos.
Fila em C: primeiro a entrar, primeiro a sair
Gerencie elementos pendentes com índices de entrada e saída.
Crivo de Eratóstenes em C
Encontre todos os primos até um limite marcando seus múltiplos.
Algoritmo de Dijkstra em C
Calcule distâncias mínimas a partir de uma origem em um grafo com pesos não negativos.
Memória dinâmica em C: malloc e calloc
Aloque, redimensione e libere memória verificando tamanhos e erros.
Arquivos em C
Abra, escreva, leia e feche arquivos com funções da biblioteca padrão.
Entrada e percurso de arrays em C
Leia elementos com scanf e percorra um array sem ultrapassar sua capacidade.
Array de ponteiros em C
Diferencie um array de endereços de um ponteiro para um array e acesse os objetos corretamente.
Olá, mundo em C
Conheça o cabeçalho, a função main e a saída de um programa C mínimo.
Laços for, while e do-while em C
Repita operações com condições claras e evite erros nos limites.
Protótipos e recursão em C
Declare funções antes de usá-las e entenda como modificar dados por ponteiros.
Estruturas, typedef e o operador -> em C
Agrupe dados relacionados e diferencie o acesso por objetos e ponteiros.
Estrutura de um programa C
Organize cabeçalhos, declarações, main e funções auxiliares.
Fatorial em C
Calcule o produto de 1 até N e verifique os limites do tipo numérico.
Ano bissexto em C
Combine divisibilidade por 4, 100 e 400 para aplicar a regra gregoriana.
Padrões com laços em C
Coordene linhas, colunas, espaços e quebras de linha para desenhar padrões.
Números primos em C
Verifique divisores até a raiz quadrada e trate corretamente valores menores que dois.
Ordenação bolha em C
Troque vizinhos fora de ordem e observe como o maior avança para o final.
Escalonamento Round Robin em C
Simule turnos de CPU com um quantum e calcule tempos sem confundir duração e espera.
Strings em C
Trabalhe com o terminador zero, a capacidade do buffer e as funções de string.h.