A ideia base deste algoritmo é, em cada passo, seleccionar o menor valor da tabela e coloca-lo no início da mesma.
Na primeira vez procuramos o menor valor a partir da primeira posição e colocamo-lo na primeira posição, na segunda vez procuramos o menor valor a partir da segunda posição e colocamo-lo na segunda posição, o processo é repetido até ao fim da tabela.
Em cada passo, o n-ésimo valor mais pequeno é colocado na posição n.
O algoritmo que descreve este processo é o seguinte: