# Passo a Passo de Algoritmos de Ordenação

> Cole uma lista pequena de números, escolha uma estratégia - bubble, selection, insertion, merge ou quick - e assista o algoritmo pensar: cada comparação, cada troca, uma linha de PORQUÊ por movimento, com contadores ao vivo de comparações e escritas que tornam o crescimento Big-O tangível.

- Tool: https://ronutz.com/pt-BR/tools/sorting-algorithm-stepper
- Family: Web e HTTP

---

O passo a passo recebe uma lista de 2 a 16 números e executa a estratégia escolhida uma decisão visível por vez. Cada passo mostra o estado do array com os índices tocados destacados, o tipo do passo (comparação, troca, escrita, nota) e uma linha de motivo para o movimento - a invariante que o algoritmo está protegendo. Os contadores no final são o ponto: rode a mesma lista em várias estratégias, ou aumente a lista, e observe como comparações e escritas escalam. Essa curva de escala é o Big-O tornado concreto, como [o primer de algoritmos](https://ronutz.com/pt-BR/learn/what-is-an-algorithm) desenvolve.

Dois comportamentos didáticos são preservados de propósito. O bubble sort carrega a clássica saída antecipada: entregue uma lista já ordenada e ele detecta o passe limpo e para após uma varredura linear. O quicksort usa a forma comum de ensino - partição de Lomuto com o último elemento como pivô - o que significa que uma lista já ordenada o empurra para o pior caso O(n²); cole uma e veja os contadores explodirem. Tudo roda localmente, a saída passa por checagem de invariante de ordenação a cada execução, e o mesmo motor é chamável pela API do site com um corpo JSON de `{"text": "5 3 8 1", "strategy": "merge"}`.

## Standards and references

- [Textbook-canonical algorithm variants (bubble with early-exit, selection, insertion, top-down merge sort, Lomuto-partition quicksort with last-element pivot) as taught across standard curricula; no vendor specification exists or is claimed - correctness is enforced by the golden vectors and a per-run output-sortedness invariant](https://en.wikipedia.org/wiki/Sorting_algorithm) - strategy definitions and canonical behaviors

## Related reading

- [O Que É um Algoritmo? Um Primer de Trabalho](https://ronutz.com/pt-BR/learn/what-is-an-algorithm.md): Um algoritmo é uma receita finita e sem ambiguidade que transforma entrada em saída - e as perguntas de engenharia são sempre as mesmas três: está correto, como o custo cresce, e o que ele troca. Big-O como a gramática do crescimento, por que constantes e assíntotas importam, as famílias centrais que você já opera (busca, ordenação, hash, grafos, máquinas de estado), e onde cada uma já roda dentro das ferramentas deste site.
