Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Zeichenketten alphabetisch sortieren

3 views
Skip to first unread message

INDIKA

unread,
Jan 12, 2002, 7:34:45 AM1/12/02
to

"Michael Drammer" <TO...@HYSTERIA.NIGHT.DE> schrieb im Newsbeitrag
news:7HB74MD...@tommy.hysteria.night.de...
> Hallo,
>
> ich suche nach einem Weg Zeichenketten zwischen 1- 255 Zeichen länge
> alphabetisch zu sortieren. Erschwerend kommt noch dazu das diese ähnlich
wie
> ein Filesystem Baumstruktur ähnlich angeordnet sind und ich gerne eine
Sortierung der
> einzelnen Ebenen erreichen möchte ( z.B. erst root, dann alle sub1,
sub2,... subn ).
> Ich suche jetzt halt Wege in C bzw C++ um dies zu erreichen, habe mich
aber leider noch
> nicht mit Sortieralgorithmen oder ähnlichem befasst. Ich hoffe über diesen
Weg mögliche
> Ansätze oder Quellen zu erehalten. Beispiele ( Sourcecode ) wären auch
sehr von nutzen.
>
>
>
> Michael

Schau dir mal die ASCII Tabelle an, dann wirst du schon rauskriegen wie du
das alpabethisch ordnen kannst!

MFG,

Fabse


Andreas Schwarz

unread,
Jan 12, 2002, 9:30:13 AM1/12/02
to
INDIKA wrote:
>"Michael Drammer" <TO...@HYSTERIA.NIGHT.DE> schrieb im Newsbeitrag
>news:7HB74MD...@tommy.hysteria.night.de...
>> Hallo,
>>
>> ich suche nach einem Weg Zeichenketten zwischen 1- 255 Zeichen länge
>> alphabetisch zu sortieren. Erschwerend kommt noch dazu das diese ähnlich
>wie
>> ein Filesystem Baumstruktur ähnlich angeordnet sind und ich gerne eine
>Sortierung der
>> einzelnen Ebenen erreichen möchte ( z.B. erst root, dann alle sub1,
>sub2,... subn ).
>> Ich suche jetzt halt Wege in C bzw C++ um dies zu erreichen, habe mich
>aber leider noch
>> nicht mit Sortieralgorithmen oder ähnlichem befasst. Ich hoffe über diesen
>Weg mögliche
>> Ansätze oder Quellen zu erehalten. Beispiele ( Sourcecode ) wären auch
>sehr von nutzen.

>Schau dir mal die ASCII Tabelle an, dann wirst du schon rauskriegen wie du
>das alpabethisch ordnen kannst!

Diese Antwort ist fuer den Fragenden wohl nicht so ganz
zufriedenstellend. Er hat ja nicht geschrieben womit er
entwickelt, aber ein qsort() (und andere) sollten irgendwie
ueberall dabei sein (stdlib).


ciao
Andreas

--
PGP: 0x661AB571

Frank Barwich

unread,
Jan 12, 2002, 10:31:32 AM1/12/02
to
Hi,

> ich suche nach einem Weg Zeichenketten zwischen 1- 255 Zeichen
> länge alphabetisch zu sortieren. Erschwerend kommt noch dazu das
> diese ähnlich wie ein Filesystem Baumstruktur ähnlich angeordnet
> sind und ich gerne eine Sortierung der einzelnen Ebenen erreichen
> möchte ( z.B. erst root, dann alle sub1, sub2,... subn ). Ich suche
> jetzt halt Wege in C bzw C++ um dies zu erreichen, habe mich aber
> leider noch nicht mit Sortieralgorithmen oder ähnlichem befasst.
> Ich hoffe über diesen Weg mögliche Ansätze oder Quellen zu
> erehalten. Beispiele ( Sourcecode ) wären auch sehr von nutzen.

in C++ geht's so:

std::vector<std::string> strings; // hier sollen die Strings rein.

strings.push_back("Hallo");
strings.push_back("mit");
strings.push_back("O");
strings.push_back("am");
strings.push_back("Ende");

// Jetzt haben wir ein Array mit 5 Strings.

// Sortieren:

std::sort(strings.begin(),strings.end());

Etwas kniffliger wirds jetzt mit deinen Ebenen. Dafür musst du dir
eine eigene Vergleichsfunktion schreiben, die erst die Ebene
vergleicht und erst wenn diese gleich ist die eigentliche
Zeichenkette.

Das könnte man z.B. realisieren, indem man folgende Klasse erstellt:

class ebene {
int m_ebene;
std::string m_string;

public:
[...]

bool operator< (const ebene& r) const
{
if (m_ebene < r.m_ebene) return true;
else if (m_ebene == r.m_ebene) return m_string < r.m_string;

return false;
}
};

So, jetzt nimmst du als Array einfach dies:

std::vector<ebene> meineEbenen;
// Füllen

std::sort(meineEbenen.begin(),meineEbenen.end());

Voila

Bye
Frank

Matthias Bethke

unread,
Jan 12, 2002, 6:04:17 PM1/12/02
to
In z-netz.rechner.amiga.programmieren INDIKA <IND...@gmx.ch> wrote:
> Schau dir mal die ASCII Tabelle an, dann wirst du schon rauskriegen wie du
> das alpabethisch ordnen kannst!

Zu Sortier- und anderen Algorithmen: Robert Sedgewick, "Algorithms";
bzw. die C/C++-Versionen (die Originalausgabe verwendet Pascal).
Und weil ich ein Spielverderber bin:
man qsort ;-)

regards
Matthias

--
PGP used here!
2048/0x90CF8389 / 8E 1F 10 81 A4 66 29 46 B9 8A B9 E2 09 9F 3B 91

0 new messages