Zahlen sortieren Vb (Quicksort,Bubblesort)

2 Antworten

Gleich der erste Treffer einer Google-Suche nach

visual basic quicksort codebeispiel

liefert ein Codebeispiel: https://msdn.microsoft.com/de-de/library/bb979305.aspx

Du müsstest die Sub QuickSort allerdings noch anpassen - die ist noch für VB6 geschrieben. Insbesondere müsstest du ändern:

Private Sub QuickSort(Of T As IComparable(Of T)( _

ByRef ArrayToSort As T(), _

....

und die übrigen Vorkommen von Variant durch T ersetzen, und die Vergleiche von Elementen vom Typ T :

a < b   -->   a.CompareTo(b) < 0

a > b   -->   a.CompareTo(b) > 0

a <= b   -->   a.CompareTo(b) <= 0

a >= b   -->   a.CompareTo(b) >= 0

Woher ich das weiß:Berufserfahrung – Software-Entwickler
PWolff  08.05.2015, 23:32

Etwas allgemeiner ist (in der Argumentenliste)

ByRef ArrayToSort As IList(Of T)

und etwas leichter aufzurufen ist es, wenn man die Funktion auch mit nur dem Array als Argument definiert:

Private Sub QuickSort(Of T As IComparable(Of T)(ByRef ArrayToSort As IList(Of T))
  QuickSort(ArrayToSort, 0, ArrayToSort.Length - 1)
End Sub



0

Bei einem Array gibt es - oft übersehen - die Sort-Methode:

Array.Sort(SortDatenFeld)

Viel Spaß!