Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Bubble Sort Demo

Bubble Sort Demo

19429_size.png
Un piccolo programma che presenta in forma grafica animata un'implementazione dell'algoritmo di ordinamento chiamato "bubble sort". Nient'altro. Potrebbe avere una qualche utilità didattica.

COS'E' L'ALGORITMO BUBBLE SORT?

Un algoritmo di ordinamento, ovvero un procedimento per ordinare una serie di dati secondo un criterio dato. L'algoritmo bubble sort è considerato uno tra gli algoritmi di ordinamento meno efficienti, eppure è uno dei primi a venire proposto nei libri che si occupano di insegnare i procedimenti della programmazione.

L'algoritmo bubble sort può essere implementato in più modi e in più linguaggi. Il programma ne impiega la seguente forma, in C, per riordinare una serie di valori di tipo int:

Codice sorgente - presumibilmente C++

  1. void Ordina( int dati[], int dimDati ) {

  2.     int i, j, scambiato, aux;

  3.  

  4.     for( i=0; i<dimDati-1; ++i ) {

  5.         scambiato = 0;

  6.  

  7.         for( j=0; j<dimDati-1-i; ++j ) {

  8.             if( dati[j] > dati[j+1] ) {

  9.                 aux = dati[j];

  10.                 dati[j] = dati[j+1];

  11.                 dati[j+1] = aux;

  12.                 scambiato = 1;

  13.             }

  14.         }

  15.  

  16.         if( !scambiato ) break;

  17.     }

  18. }




Come funziona il programma?

Si opera tramite la tastiera, tenendo conto di pochi particolari:

1. I dati numerici rappresentati dalle colonne del grafico sono casuali.
2. L'altezza delle colonne del grafico è proporzionale al dato numerico in etichetta.
3. Per regolare la quantità delle colonne nel grafico si usano i tasti + e -.
4. Per avviare la dimostrazione si usa la barra spaziatrice.
5. Per far avanzare d'un passo la procedura d'ordinamento si usa il tasto freccia a destra.
6. Tenendo premuto "maiuscolo"  mentre si usa il tasto freccia a destra l'avanzamento è più veloce.
7. Per interrompere l'ordinamento in corso si usa il tasto "esc".
8. Le barre del grafico sono bianche se devono essere ancora riordinate.
9. Le barre del grafico sono verdi se sono già state riordinate.
10. Le barre esaminate sono rosse se il loro ordine dev'essere invertito.
11. Le barre esaminate sono  azzurre se il loro ordine non dev'essere invertito.

La serie dei dati può contenere 6, 8, 10, 12, 16, 20, 24 o 30 valori (di conseguenza, il grafico può avere 6, 8, 10, 12, 16, 20, 24 o 30 colonne).

Premendo il tasto "I" si accede a una finestra che dà alcune informazioni sul programma.

Per lasciare il programma si usa il classico riquadro di chiusura delle finestre di Windows.


Categoria: Esempi / C
Piattaforma:

Downloads: 244
Rating: (4 voti)
Data: 29/06/2016
Download

A proposito dell'autore

Amatore, autodidatta dai tardi anni '90. Prime esperienze in HyperTalk. Successivamente, C con qualche infarinatura di C++.

Aggiungi un commento

Inserisci il tuo commento qui
Esegui il login oppure registrati per inviare commenti