Quick Sort

Quicksort( lista, menor, mayor)

if (menor < mayor)

pivote = Partición(lista, menor, mayor)

Quicksort(lista, menor, pivote)

Quicksort(lista, pivote + 1, mayor)

Partición(lista, menor, mayor)

pivote = lista[menor]

limiteIzquierda = menor

for i = menor + 1 hasta mayor

if (lista[i] < pivote)

intercambia (lista[i], lista[limiteIzquierda])

limiteIzquierda = limiteizquierda + 1

intercambia (lista[posPivote], lista[limiteIzquierda])

return limiteizquierda