Bubble sort: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
m wikificato, piccola aggiunta, +cat. Algoritmi
Riga 1:
{{wikificare}}Il '''Bubble Sort''', in italiano '''ordinamento a bollebolla''', è l'[[algoritmo]] più semplice per ordinare gli elementi di un [[array]].
 
Come funziona? Esso prevede l'uso di due indici: il primo, inizialmente, punta al primo elemento dell'array, il secondo indice punta al secondo elemento. Partendo da queste posizioni, il primo elemento viene confrontato con tutti gli elementi successivi. Ogni volta che il primo elemento risulta maggiore dell'elemento con cui viene confrontato, i due valori vengono scambiati. E'È chiaro che alla fine di questa serie di confronti il primo elemento risulterà il minore di tutto l'array. Poi il primo indice viene spostato alla seconda posizione e il secondo indice riparte dalla terza; di nuovo si effettuano tutti i confronti. E così via, finchèfinché il primo indice arriva al penultimo elemento dell'array.
 
L'algoritmo è così chiamato perché l'elemento più grande si trova in ultima posizione e quelli più piccoli salgono salgono verso l'alto come delle bolle.
Questo algoritmo viene qui esposto per scopi didattici ma, siccome richiede una quantità di confronti troppo alta, risulta molto poco efficente.
 
Questo algoritmo vieneè quiusato espostosolo per scopi didattici mao quando gli elementi da ordinare sono pochi poiché, siccome richiede una quantità di confronti troppo alta, risulta molto poco efficente (dell'ordine di ''n²'').
Segue la sua implementazione in linguaggio C:
 
Segue la sua implementazione in [[linguaggio C]]:
 
void bubble_sort(TYPE *array, int count) {
Riga 25 ⟶ 27:
 
Due note di carattere tecnico:
a e b sono dichiarativariabili dichiarate come register, il chè significa che, se possibile, il [[compilatore]] C farà in modo che vengano collocate nei [[registro|registri]] della [[CPU]]; questo renderà più rapido l'accesso a dette varibailivariabili.
tmp è dichiarata di tipo int, quindi dovrà contenere interi; se l'array contiene elementi di tipo diverso, sarà sufficentesufficiente modificare la sua dichiarazione.
 
[[Categoria:Algoritmi]]