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
- 'Hilfsmethode um zwei Stellen in einem Array zu vertauschen
- Sub swap(ByRef x As Integer, ByRef y As Integer)
- Dim tmp As Integer
- tmp = x
- x = y
- y = tmp
- End Sub
- 'VB Implementierung des BubbleSort-Algorithmus wie er auf Wikipedia beschrieben ist: http://de.wikipedia.org/wiki/Bubblesort
- Sub bubblesort(ByRef liste() As Integer)
- Dim n As Integer = liste.Length
- Dim swapped As Boolean
- Do
- swapped = False
- For i As Integer = 0 To n - 2
- If (liste(i) > liste(i + 1)) Then
- swap(liste(i), liste(i + 1))
- swapped = True
- End If
- Next
- n = n - 1
- Loop While n > 1
- End Sub
- Sub Main()
- initialize_list(list_to_be_sorted)
- print_list(list_to_be_sorted)
- bubblesort(list_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.
9.131 mal gelesen