SelectionSort




Sub Selectionsort (List() As Long, min As Integer, _
max As Integer)
Dim i As Integer
Dim j As Integer
Dim best_value As Long
Dim best_j As Integer
For i = min To max - 1
best_value = List(i)
best_j = i
For j = i + 1 To max
If List(j) < best_value Then
best_value = List(j)
best_j = j
End If
Next j
List(best_j) = List(i)
List(i) = best_value
Next i
End Sub

Selectionsort e' un algoritmo molto semplice. Dal principio
cerchi nella lista l'elemento piu' piccolo.
Poi scambi quell'elemento con l'elemento in cima alla lista.
Poi trovi il secondo elemento piu' piccolo e lo scambi con
il secondo elemento della lista. Continui a trovare i
successivi elementi piu' piccoli e a metterli nella loro
posizione finale, fino a quando tutti gli elementi della
lista stanno al loro posto. Il codice VB per Selectionsort
e' mostrato di seguito:











( selectionsort.html )- by Paolo Puglisi - Modifica del 17/12/2023