001
17.05.2005, 18:59 Uhr
mirmi
|
Also, ich hab das jetzt so gemacht: (sicher nicht die schönste Lösung, aber es funzt )
Listeneinträge in 1dimensionales Array eintragen. Mit ; als Trennzeichen. Dieses 1dimensionale Array sortieren und anschliessend wieder splitten und in die Liste eintragen.
Sortierungs-Prozedur: Sub ShellSort(ByRef sort() As String, ByVal numOfElements As Short) 'sortiert die Elemente der Arrays sort() in absteigender Riehenfolge und übergibt das Ergebnis der aufrufenden Prozedur Dim temp As String Dim i, j, span As Short
span = numOfElements \ 2 Do While span > 0 For i = span To numOfElements - 1 j = i - span For j = (i - span) To 0 Step -span If sort(j) <= sort(j + span) Then Exit For 'Arrayelemente, die nicht in der richtigen Reihenfolge stehen, vertauschen temp = sort(j) sort(j) = sort(j + span) sort(j + span) = temp Next j Next i span = span \ 2 Loop End Sub
danke und liegrü mirmi |