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