Buonasera, oggi durante un esamen il prof di programmazione mi ha chiesto l'algoritmo di ordinamento per selezione di massimo. Io gli ho scritto questo:
e mi ha detto che non andava bene perché non aveva la stessa complessità di tempo di questo.codice:void f(int array[], int n) { int i,j,temp; for(i=n-1; i>=0; i--) { for(j=0; j<i-1; j++) { if(array[j]>array[i]) { temp=array[j]; array[j]=array[i]; array[i]=temp; } } } }
è vero o mi ha bocciato ingiustamente?codice:void ord_sel_max(char array[],int n) { int i,indice_max; char max_array; for (i=n-1; i>0; i--) { max_val_ind(&array[0],i+1,&max_array,&indice_max); scambiare_c(&array[i],&array[indice_max]); } } void max_val_ind(char a[],int n,char *max_array, int *i_max) { int i; *max_array = a[0]; *i_max = 0; for (i=1; i<n; i++) if (a[i] > *max_array) { *max_array = a[i]; *i_max = i; } }

Rispondi quotando