Devi trovare il k-esimo minimo, non i i valori più piccoli...
Comunque:
Lavorando sulla sezione di array a-b
Scegli un pivot p, partizioni ordinando: minoriugualip p maggiorip
Se k < indice(p) vai a sinistra (a, indice(p)-1)
Se k=indice(p) hai trovato l'elemento
Se k>indice(p) vai a destra (indice(p)+1, b)

Rispondi quotando