dovrebbe andare così
codice:
void r_sel_sort(float *A, int cur, int n)
{
int i,p=cur;
float min = A[cur];
if(cur<n)
{
for(i = cur; i<n; i++) /* trovo posizione minimo su sottovettore */
{
if(A[i] < min)
{
min = A[i];
p = i;
}
}
/* inverto posizione di corrente e minimo */
A[p] = A[cur];
A[cur] = min;
/* chiamo funzione su sottovettore successivo */
r_sel_sort(A,cur+1,n);
}
}
il secondo parametro è l'elemento dacui iniziare l'ordinamento.. quindi nella chiamata del main gli passerai 0...
pe ril resto è uguale a quello di sopra.. per ogni elemento cerca il minimo e lo mette nella posizione corrente.. solo che invece di farlo con un ciclo lo fa con chiamate ricorsive