Salve! Chiedo scusa se la domanda è stata già fatta e per la mia totale ignoranza.
Volevo sapere come mai nel seguente codice il Selection Sort sembra "dimenticarsi" per strada due numeri, ovvero 50 e 31. Ho provato a cambiare i valori in array ma nulla è risolto. Sicuramente ci deve essere un problema nel calcolo che non riesco a trovare. Qualcuno potrebbe aiutarmi? Grazie!
CODICE
#include <stdio.h>
int main (void){
int a[10] = {1,50,40,30,2,10,5,8,9,34,31};
unsigned int i;
unsigned int j;
int min;
int temp;
for(i=0;i<(10-1);i++){
min=i;
for(j=i+1;j<10;j++){
if(a[j]<a[min]){
min=j;
}
}
temp = a[min];
a[min] = a[i];
a[i] = temp;
printf("%d ", a[i]);
}
}
OUTPUT