Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
772to776
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
772to776
772to776
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

BubbleSort für String Arrays

BubbleSort für String Arrays
20.06.2006 09:15:06
Thorsten
Hi,
ich hab mir mal ein BubbleSort geschrieben, nur mein Problem ist das der Code nur innerhalb dieses Subs Sortiert, das übergebene Array scheint er nicht anzurühren. Aber genau das will ich, ich versteh einfach nicht wo das Problem liegt.
Public &ltpre&gt
Sub BubbleSort(a As Variant)
Dim i As Long, n As Long, Temp As Variant
n = UBound(a) 'Feldgröße bestimmen
Do
'In diesem Durchgang wurden noch keine Veränderungen vorgenommen
Sortiert = True
'Gehe alle Feldelemente durch außer dem letzten
For i = 0 To n - 1
If TypeName(a(i)) = "String" And TypeName(a(i + 1)) = "String" Then
'Vergleiche das aktuelle Feldelement mit dem nächsten
If Left(a(i), 1) &lt Left(a(i + 1), 1) Then
'Ist dieses größer, vertausche die beiden Werte
Temp = a(i)
a(i) = a(i + 1)
a(i + 1) = Temp
'Es wurden Veränderungen vorgenommen
Sortiert = False
Exit For
End If
If Left(a(i), 1) = Left(a(i + 1), 1) Then
If Left(a(i), 2) &lt Left(a(i + 1), 2) Then
'Ist dieses größer, vertausche die beiden Werte
Temp = a(i)
a(i) = a(i + 1)
a(i + 1) = Temp
'Es wurden Veränderungen vorgenommen
Sortiert = False
Exit For
End If
End If
Else
'Vergleiche das aktuelle Feldelement mit dem nächsten
If a(i) &lt a(i + 1) Then
'Ist dieses größer, vertausche die beiden Werte
Temp = a(i)
a(i) = a(i + 1)
a(i + 1) = Temp
'Es wurden Veränderungen vorgenommen
Sortiert = False
End If
End If
Next i
'Wiederhole den Vorgang, bis bei einem Durchgang keine Veränderungen vorgenommen werden mussten
Loop Until Sortiert
End Sub&lt/pre&gt
Gruß Thorsten

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: BubbleSort für String Arrays
20.06.2006 15:21:00
Thorsten
Komischerweise hat sich das ganze nun aufgelöst. Ich hab es mal wieder in der einfachen Variante Probiert und es ging...
hier der BubbleSort der doch schon alles Sortiert

Function BubbleSort(a As Variant)
Dim i As Long, n As Long, Temp As Variant
n = UBound(a)
Do
Sortiert = True
For i = 0 To n - 1
If a(i) > a(i + 1) Then
Temp = a(i)
a(i) = a(i + 1)
a(i + 1) = Temp
Sortiert = False
End If
Next i
Loop Until Sortiert
End Function

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige