ciao a tutti
sto studiando un esercizio che chiede di elaborare un ordinamento di un array per selezione er Ricorsivo e strano a dirsi.. non funziona come dovrebbe..
codice:
int b[SIZE] = { 20 , 5 , 3 ,4 , 10 , 2 } ;
int *primo = b ;
int *ultimo = &b[SIZE - 1 ] ;
seleziona ( b , primo , ultimo ) ;
codice:
void seleziona ( int a [] , int *i , int *n )
{
int small ;
int j ;
int temp ;
if ( *i < *(n - 1) )
{
small = *i ;
for ( j = i+1 ; j <= n ;j++ )
if ( a[j] < small )
{
small = j ;
temp = small ;
small = *i ;
*i = temp ;
}
seleziona ( a , i+1 , n ) ;
}
}
il codice è abbastanza snello direi , ma non funziona come dovrebbe , cioè non effettua
nessun ordinamento !
potreste aiutarmi?
grazie