Bubble Sort in QBasic
Il Bubble Sort è un algoritmo di ordinamento semplice che attraversa ripetutamente una lista, confronta gli elementi adiacenti e li scambia se sono nell’ordine sbagliato. In questo articolo, esploreremo il funzionamento di Bubble Sort e forniremo un esempio di implementazione utilizzando QBasic.
Come Funziona il Bubble Sort
L’idea alla base del Bubble Sort è piuttosto intuitiva. L’algoritmo attraversa la lista da sinistra a destra, confrontando elementi adiacenti e scambiandoli se sono fuori ordine. Questo processo continua finché non sono più necessari scambi, indicando che la lista è ordinata.
Ecco una panoramica del processo:
- Inizia con il primo elemento della lista.
- Confronta l’elemento corrente con il successivo.
- Se l’elemento corrente è maggiore di quello successivo, scambia i due elementi.
- Muoviti al successivo elemento nella lista.
- Ripeti i passaggi 2-4 fino alla fine della lista.
- Ripeti i passaggi 1-5 finché non sono più necessari scambi.
Implementazione in QBasic
Ora vediamo come implementare il Bubble Sort in QBasic utilizzando un esempio pratico. Assumiamo di avere un array di 10 numeri che vogliamo ordinare in modo ascendente.
DIM numeri(10)
FOR i = 1 TO 10
INPUT "Inserisci un numero "; numeri(i)
NEXT i
FOR i = 1 TO 9
FOR j = 1 TO 10 - i
IF numeri(j) > numeri(j + 1) THEN
temp = numeri(j)
numeri(j) = numeri(j + 1)
numeri(j + 1) = temp
END IF
NEXT j
NEXT i
PRINT "Numeri Ordinati:"
FOR i = 1 TO 10
PRINT numeri(i);
NEXT i
END
Questo codice QBasic inizializza un array di 10 elementi, richiede l’inserimento di valori per questi elementi, esegue l’algoritmo Bubble Sort per ordinare l’array in modo ascendente e infine visualizza l’array ordinato.
Conclusioni
Il Bubble Sort è un algoritmo di ordinamento semplice ma inefficiente per grandi dataset. È utile per scopi educativi e dimostra i concetti fondamentali degli algoritmi di ordinamento. Tuttavia, per applicazioni pratiche con set di dati più grandi, è consigliabile utilizzare algoritmi di ordinamento più efficienti.