Sortieralgorithmus f. Strings

Von: , Frage gestellt am Fr, 9. Feb 2001

Hallo,

Ich habe ca. 300 Strings (können auch weit weniger sein, aber 300 ist Richtgröße) die lexikalisch sortiert werden müssen.

Bubblesort und Quicksort sind da wohl recht langsam;
Ich habe da mal was mit Bäumen gehört, weiß aber nicht mehr genau, wie das ging. Oder lohnt sich der Aufwand nicht?

Ideen?

bis dann,
Jan

3 Antworten zu dieser Frage

  1. Antwort von nach 15 Minuten hilfreich
    Re: Sortieralgorithmus f. Strings

    Hi, Ich habe ca. 300 Strings (können auch weit weniger sein, aber
    300 ist Richtgröße) die lexikalisch sortiert werden müssen.
    In der STL gibt es die Klasse string und das Template list. Fuer string sind die > und < Operatoren so weit ich weiss ueberladen, fuer string gibts die member-function sort. Damit laesst sich das Problem elegant loesen:

    list<string> l;
    // evtl l.reserve(wasAuchImmer);
    for(unsigned int i = 0; i < wasAuchImmer; i++) 
    l.push_back(string(deinString[i]));
    l.sort();
    


    Nu solltes Du eine sortierte Liste mit strings haben (hab ich nicht gestestet, aber irgendwie so sollte es gehen). STL-Reference unter http://www.dinkumware.com/htm_cpl/index.html

    Gruss

    Thorsten

  2. Antwort von nach 5 Stunden 1 hilfreich
    Re: Sortieralgorithmus f. Strings

    Bubblesort und Quicksort sind da wohl recht langsam;
    Ich habe da mal was mit Bäumen gehört, weiß aber nicht mehr
    genau, wie das ging. Oder lohnt sich der Aufwand nicht?
    Bei 300 Elementen sind sowohl Bubble- als auch Qicksort voll ausreichend.

    Bäume beschleunigen eher nicht das Sortieren sondern das Suchen, einen sortierten, balancierten Baum zu erstellen dauert länger als z. B. Quicksort.

    Grüße, Robert

    • Antwort von nach 3 Tagen hilfreich
      Re^2: Sortieralgorithmus f. Strings

      Bei 300 Elementen sind sowohl Bubble- als auch Qicksort voll
      ausreichend.
      Und einfacher!
      Bäume beschleunigen eher nicht das Sortieren sondern das
      Suchen, einen sortierten, balancierten Baum zu erstellen
      dauert länger als z. B. Quicksort.
      Aha!

      Ich habs mit ner StringList gemacht, die hat ne Funktion zum sortieren.

      Trotzdem Danke,

      Jan

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!