ti do' un suggerimento : se non riesci a capire cosa fa un pgm, fatti uno schemino delle variabili, dei vettori, e quant'altro entri in gioco nell'algoritmo.
imposta dei valori di prova alle variabili ed eseguilo passo-passo, vedrai che cosi' ti verra' piu' facile : questo e' quello che fa la CPU (ad alto livello) !!
in questo caso il pgm fa un sort decrescente (dal piu' alto al piu' basso) dei valori contenuti nel vettore.
il primo ciclo scorre tutti gli elementi dal primo all'N-1, e per ogguno di questi (I) il secondo loop lo confronta con tutti i sucessivi moemorizzando qual'e' il piu' grande e la sua posizione.
alla fine del loop piu' interno se ho trovatop un elemento piu' grande lo scambio.
il secondo loop parte da I+1 perche' diamo gia' per scontato che i primi I elementi sono gia' in ordine !
se vuoi ordinare il vettore in ordine crescente devi, ovviamente, sostituiore il GT in LT sull'IF.
quindi la tua ipotesi sul funzionamento e' corretta.
bye
ste