Sforava di un elemento giusto, perchè j=i+1 esce dall' array quando i=n-1, l' ho corretto:
Ma ancora non capisco perchè abbia un costo computazionale che dipende dall' avere una dimensione pari o dispari dell' array.Non è che mi basta calcolare l' ordine di grandezza del costo computazione.Voglio capire perchè si comporta così, è una cosa che non so spiegarecodice:void InsertionSort(int *v, int n) { int i,j; for(i=0;i<n-1;i++) { j=i+1; while(j>0 && v[j]<v[j-1]) { swap(&v[j-1],&v[j]); j--; } } }![]()

Rispondi quotando