Schau dir mal die ASCII Tabelle an, dann wirst du schon rauskriegen wie du
das alpabethisch ordnen kannst!
MFG,
Fabse
>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
> 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
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