Announcement

Collapse
No announcement yet.

Sortierung von Arrays

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Sortierung von Arrays

    Hallo,

    ich hab folgendes kleines Problemchen.

    folgende Struktur
    record
    ABLDST:String;
    RAN:String;
    BEZ:String;
    LTYP:String;
    GNR:integer;
    WEate
    Z:String[1];
    GGut:String

    TEST:Array of Record;

    Ich möchte dieses Array nun wie folgt Sortieren:
    1. ABLDST
    2. RAN
    3. WE

    In einer Datenbank habe ich da null Probleme mit aber in einem Array ?!?! Hat jemand einen Tip (vielleicht ein wenig Quelltext), wie ich die Sache angehen könnte ???

    Wäre klasse.

    Gruß

    Torsten

  • #2
    Hallo Torsten,

    wüßte nicht das es dafür vorgefertigte Routinen geben. Da wirst Du wohl selber Hand anlegen müssen und irgendeinen guten Sortieralgorythmus (z.B.Quicksort) für Dein Array programmieren müssen.

    Wenn Du Dich jedoch Deinem Statischen Record verabschiedest und stattdessen dynamische Elemente in einer TList verwaltest, dann kannst Du Dir u.U. eine Menge Arbeit ersparen. Dort könntest Du für Deinen Record eine Vergleichsfunktion schreiben und diese dann einfach mit TList.Sort verwenden.

    Gruß Fal
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Hallo,<br>mach aus dem Record ein TObject und verwende TList. Über die Sort Methode von TList kannst Du die Objekte dann sortieren.
      Delphi verwendet hier den QuickSort Algorithmus.<br>Ich habe das schon oft gemacht und ich muß sagen, Delphi ist hier knall schnell<br>Jens Schuman

      Comment


      • #4
        Hallo Torsten,
        hier ist das Beispiel.<br>
        http://home.t-online.de/home/jensschumann/sort/sort.zip <br>

        Auf meinem PIII 750 MHz 256MB hat das Sortieren von ca 50.000 <br> Elementen weniger
        als eine Sekunde gedauert.<br>

        Jens Schuman

        Comment


        • #5
          Hallo Jens,
          ich habe mir das Beispiel mal angeschaut. Ist nicht nur ein gutes Beispiel für TList.Sort, sondern auch für die Arbeit mit Records und Klassen. Kann ich allen nur empfehlen. Wäre eigentlich wert, in die "Downloads" zu kommen.

          mfg Klaus-Pete

          Comment


          • #6
            Hallo Klaus,<br>vielen Dank für die Blumen.<br>Records benutze ich nur noch wenn es nicht anders geht. Ansonsten verwende ich nur noch Objekte.<br>Jens Schuman

            Comment

            Working...
            X