Einzelnen Beitrag anzeigen

Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Unterprogramm zum Sortieren

  Alt 29. Aug 2008, 07:25
Also wenn ich dich richtig verstanden habe brauchst du 2 Sortieralgorithmen.

1. Sortieren nach Kategorie

2. Absteigend sortieren.

Ich schlage dir da einfach mal den Quicksort Algorithmus vor.

Den wendest du 2 ( eigentlich 5 mal )mal an.

1. Anwendung sortiert das gesamte Feld ( das geht nur wenn du deine Kategorie strings zwischenzeitig in einen Integer bastelst der dann sortiert werden kann, sonst hast du zu viele String vergleiche ).

das Tolle am Quicksort du kannst Grenzen angeben.

als 2 - 5 ten schritt rufst du den Quicksort wieder auf. Diesmal soll er die Anzahl in der Kategorie sortieren, Als Grenzen übergibst du dann immer die grenzen der Kategorieen. Diese Grenzen kannst du vorher mit nur einem Schleifendurchlauf ermitteln .

also in etwa so

Delphi-Quellcode:
1. Quicksort(0,n-1)

[a,b,a,c,b,a,c,b,c,a]
=>
[a,a,a,a,b,b,b,c,c,c]

2. Quicksort2(0,3)
3. Quicksort2(4,6)
4. Quicksort2(7,9)

Wenn es 3 Kategorien wären ( a,b,c) und Quicksort2 sortiert dann nach Anzahl...
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat