Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: +++ Hilfe - komme nicht weiter - Projekt: Adressbuch +++

  Alt 6. Okt 2006, 19:45
Also:
Der Anwender wählt aus, wonach er sortieren möchte. Belassen wir es bei der Auswahl 'Vorname', 'Nachname', 'Strasse'.

Wir merken uns in einer Variablen ('Sortierkriterium'), was der Anwender möchte. Dabei bedeutet '0', das er nach dem Vornamen sortieren will, 1 das er nach dem Nachnamen sorieren will und 2, das er nach der Strasse sortieren will.

Die Funktion sieht z.B. so aus:
Delphi-Quellcode:
Function Vergleiche (Const a, b : TAdresse) : Shortint;
Begin
  case SortierKriterium of
    0 :
     If a.Vorname < b.Vorname Then
       Result := -1
     else If a.Vorname > b.Vorname then
       Result := +1
     else
       Result := 0;
    1 :
     If a.Name < b.Name Then
       Result := -1
     else If a.Name > b.Name then
       Result := +1
     else
       Result := 0;
    2 :
     If a.Strasse < b.Strasse Then
       Result := -1
     else If a.Strasse > b.Strasse then
       Result := +1
     else
       Result := 0;
  End;
End;
So, diese Funktion verwendest Du in deinem Quicksort-Algorithmus. Probiere ruhig ein wenig.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat