Analizziamo la funzione BubbleSort()

Essa non restituisce alcun valore (infatti c'è un Void prima del nome della funzione). Prende In input due parametri il vettore a e n che indica quanti elementi del vettore a devono essere presi in considerazione (questo ci consente di utilizzare una parte più piccola del vettore invece che tutti i 100 elementi dichiarati nella define Max, di cui abbiamo parlato all'inizio). Dichiariamo poi le variabili che ci servono: in particolare la variabile k che sarà l'indice che utilizzeremo, il flag scambioeffettuato e la variabile ultimo. Il flag scambioeffettuato sarà impostato a 1 per forzare l'ingresso nel nel ciclo while immediatamente successivo. La variabile ultimo sarà impostata a N-2 e sarà decrementata ad ogni ciclo. All'interno del ciclo while rimettiamo a 0 il flag scambioeffettuato eh incominciamo a scandire il vettore con un ulteriore ciclo interattivo. Questa volta utilizziamo l'istruzione for la cui variabile di controllo k parte da zero e arriva a ultimo incluso. All'interno del ciclo iterativo andremo a fare il confronto di ogni elemento con il suo successivo, (a[k]>a[k+1]), e se necessario effettueremo lo scambio.

 

system