Este é o algoritmo mais eficaz para ordenação. A ideia por trás do algoritmo é escolher um valor da tabela, passar todos os valores maiores do que ele para a frente e todos os menores para trás. Ficamos então com a tabelas dividida em duas partes, uma tem todos os valores menores que o valor escolhido, a outra tem todos os valores maiores que o valor escolhido. Aplicamos agora o algoritmo a cada uma das partes. O processo é repetido até atingirmos partes de tamanho um.
O algoritmo utiliza uma função auxiliar para realizar o processo descrito:
A função quicksort limita-se a mandar ordenar toda a tabela: