Bubble sort

di Giuseppe Rosa IV A S.A.

Parte 1
Che cos'è il Bubble Sort?

Tra i piú semplici algoritmi di ordinamento abbiamo il Bubble Sort, che in italiano significa naturalmente ordinamento a bolle. Il meccanismo, infatti, si basa sull' idea di far emergere man mano (come bollicine) gli elementi minori all' inizio del vettore mentre contemporaneamente quelli maggiori si posizionano in fondo al vettore.

"Nel bubble sort gli articoli più pesanti restano al fondo della lista , mentre i più leggeri galleggiano fino all'inizio."

La logica di questo algoritmo è quella di confrontare ogni elemento di un array (partendo dalla posizione zero), con il valore dell'elemento successivo. Ovviamente l'ultima posizione viene decrementata ogni volta che si arriva a posizionare un valore nell'ultima posizione di un array, altrimenti si sovrascrive continuamente l'ultimo elemento e non avviene alcun ordinamento!

Parte 2
Ordinamento in linguaggio Java

Vediamo nel dettagli l' algoritmo : dato un vettore con n elementi, per ogni iterazione il primo elemento viene confrontato con il secondo, e se risulta maggiore, viene scambiato. La stessa cosa avviene tra il secondo ed il terzo elemento e cosi via fino alla fine del vettore.

Ecco l' implementazione in codice java dell' algoritmo :

for(int i = 0; i < array.length; i++) {    
for(int j = 0; j < array.length-1; j++) {

if(array[j]>array[j+1]) {
int k = array[j];          //k= variabile temporale che non fa perdere
array[j] = array[j+1];          il valore di array[j] durante lo scambio
array[j+1] = k;                 di variabile.
 }
}

L'ordinamento può essere in ordine crescente, ovvero con i numeri ordinati dal più piccolo al più grande,

if(array[j] > array[j+1])

oppure decrescente, ovvero con i numeri ordinati dal più grande al più piccolo.

if(array[j] < array[j+1])

Fine

Comment Stream