Originariamente inviato da Federicot
La sequenza era disordinata ed mi sono confuso comunque tu dici la posizione e lui ti restituisce il valore di quella posizione
Forse leggendo il commento nel codice che riportava questo

/* Il metodo selection dato un array non ordinato "v" e un intero "rank", restituisce il "rank"-esimo minimo, cioe' l'elemento dell'array che occuperebbe la posizione "rank" qualora l'array venisse ordinato. Il problema potrebbe essere risolto ordinando l'array, ma l'algoritmo qui proposto permette di risolvere il problema con una complessita' computazionale attesa inferiore, in quanto il tempo atteso e' O(n) invece dell'O(n log n) necessario a ordinare l'array. L'algoritmo utilizza lo stesso approccio del Quick Sort. Viene chiamato il metodo partiziona, identico a quello utilizzato dal Quick Sort, e in base alla posizione restituita si continua la ricerca del k-esimo elemento su una sola delle due porzioni. L'algoritmo termina nel caso in cui il metodo partiziona restituisca esattamente la posizione k. */


avresti saputo subito a cosa serviva.

In ogni caso, ripeto per l'ennesima volta, e il numero di tentativi così come la pazienza è in esaurimento, che il forum non è adatto a questo genere di richieste: qui non si compilano programmi altrui per dire cosa fa - o non fa - un pezzo di codice, ma si ragiona sul codice che viene scritto dagli utenti che postano e lo propongono poiché contiene un errore o non funziona correttamente, chiedendo aiuto su come correggerlo.