Quellcode
- Module Module1
- 'liste mit 15 Elementen, welches später sortiert werden soll deklarieren
- Dim list_to_be_sorted(15) As Integer
- 'Hilfsroutine um ein Integer-Array in der Konsole auszugeben
- Sub print_list(ByRef liste() As Integer)
- For Each element In liste
- Console.Write(element.ToString & " ")
- Next
- Console.WriteLine("-")
- End Sub
- 'Methode um ein liste mit Zufallswerten zu initialisieren
- Sub initialize_list(ByRef liste() As Integer)
- 'Zufallsgenerator initialisieren
- Dim r As New Random(System.DateTime.Now.Millisecond)
- 'Jedem Element der Schleife einen zufälligen Wert zuweisen
- For i As Integer = 0 To liste.Length - 1
- 'Zufallszahl zwischen 0 und 10.000 erzeugen und zuweisen
- liste(i) = r.Next(0, 10000)
- Next
- End Sub
- 'VB Implementierung des Insertionsort-Algorithmus wie er auf Wikipedia beschrieben ist: http://de.wikipedia.org/wiki/Insertionsort
- Sub insertionsort(ByRef liste() As Integer) '
- Dim val, j As Integer
- For i As Integer = 1 To liste.Length - 1
- val = liste(i)
- j = i
- While (j > 0 AndAlso liste(j - 1) > val)
- liste(j) = liste(j - 1)
- j = j - 1
- liste(j) = val
- End While
- Next
- End Sub
- Sub Main()
- initialize_list(list_to_be_sorted)
- print_list(list_to_be_sorted)
- insertionsort(liste_to_be_sorted)
- print_list(list_to_be_sorted)
- Console.ReadKey()
- End Sub
- End Module
Ich werde hier nicht auf die Spezifika des Algorithmus eingehen, da das sprachenunabhängig wäre und eher in die Rubrik Allgemein gehört. Es sei nochmal auf den Wikipedia-Artikel verwiesen, der eigentlich alles Nötige erklärt.
8.251 mal gelesen