Buonasera !
Sto studiando gli array.
Finora li ho sempre e solo creati e visualizzati, ma le operazioni di ordinamento ancora no.
Qui vi inserisco un codice.
Quello che mi serve è un aiuto sui commenti che ho messo.
Voglio sapere se l'argomento l'ho capito bene o no.
void insertion(int vettore[max], int tot)
{
int temp; // E' IL VALORE DELL'ELEMENTO DA SISTEMARE
int p; // INDICE DEL NUMERO DA SISTEMARE
int a; // SCORRIMENTO ALL'INTERNO DEL VETTORE
/* CON IL CICLO for SI CONTROLLANO UNO AD UNO I NUMERI DA CONTROLLARE, DA 1 A < tot */
for (p = 1; p < tot; p++)
{
temp = vettore[p]; // temp è la posizione del valore da sistemare presente nell'array
a = p - 1; // a è la posizione precedente del valore p
/* CON IL CICLO "WHILE" SI CONTROLLA SE LA VARIABILE "A" E' MAGGIORE O UGUALE A ZERO
E SE LA POSIZIONE DI "A" NEL VETTORE E' MAGGIORE DELLA VARIABILE "TEMP" */
while ((a >= 0) && (vettore[a]>temp))
{ // SE LA CONDIZIONE "WHILE" E' VERA
vettore[a + 1] = vettore[a]; // LA POSIZIONE DI "A+1" SI UGUAGLIA AD "A";
a = a - 1; // IL VALORE DI "A" VIENE DIMINUITO DI UNA POSIZIONE;
// IL CICLO "WHILE" SI RIPETE FINCHE' LA CONDIZIONE SI MANTIENE VERA
}
/* SE LA CONDIZIONE DEL CICLO WHILE E' FALSA, CON L'ISTRUZIONE SOTTO
SI RITORNA AL CICLO FOR PER VERIFICARE SE E' VERA LA CONDIZIONE "p < tot" */
vettore[a + 1] = temp;
}
}