Sortieralgorithmen: BubbleSort

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Kurze Implementierung des BubbleSort-Algorithmus in VB

    Quellcode

    1. Module Module1
    2. 'liste mit 15 Elementen, welches später sortiert werden soll deklarieren
    3. Dim list_to_be_sorted(15) As Integer
    4. 'Hilfsroutine um ein Integer-Array in der Konsole auszugeben
    5. Sub print_list(ByRef liste() As Integer)
    6. For Each element In liste
    7. Console.Write(element.ToString & " ")
    8. Next
    9. Console.WriteLine("-")
    10. End Sub
    11. 'Methode um ein liste mit Zufallswerten zu initialisieren
    12. Sub initialize_list(ByRef liste() As Integer)
    13. 'Zufallsgenerator initialisieren
    14. Dim r As New Random(System.DateTime.Now.Millisecond)
    15. 'Jedem Element der Schleife einen zufälligen Wert zuweisen
    16. For i As Integer = 0 To liste.Length - 1
    17. 'Zufallszahl zwischen 0 und 10.000 erzeugen und zuweisen
    18. liste(i) = r.Next(0, 10000)
    19. Next
    20. End Sub
    21. 'Hilfsmethode um zwei Stellen in einem Array zu vertauschen
    22. Sub swap(ByRef x As Integer, ByRef y As Integer)
    23. Dim tmp As Integer
    24. tmp = x
    25. x = y
    26. y = tmp
    27. End Sub
    28. 'VB Implementierung des BubbleSort-Algorithmus wie er auf Wikipedia beschrieben ist: http://de.wikipedia.org/wiki/Bubblesort
    29. Sub bubblesort(ByRef liste() As Integer)
    30. Dim n As Integer = liste.Length
    31. Dim swapped As Boolean
    32. Do
    33. swapped = False
    34. For i As Integer = 0 To n - 2
    35. If (liste(i) > liste(i + 1)) Then
    36. swap(liste(i), liste(i + 1))
    37. swapped = True
    38. End If
    39. Next
    40. n = n - 1
    41. Loop While n > 1
    42. End Sub
    43. Sub Main()
    44. initialize_list(list_to_be_sorted)
    45. print_list(list_to_be_sorted)
    46. bubblesort(list_to_be_sorted)
    47. 'print_list(list_to_be_sorted)
    48. Console.ReadKey()
    49. End Sub
    50. End Module
    Alles anzeigen


    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.902 mal gelesen