BubbleSort
-
Ich bin in C++ totaler Neuling und möchte fragen wo der Fehler in dieser Funktion liegt. Ich muss eine Liste von Namen alphabetisch ordnen und das funktioniert nicht.
void BubbleSort(string *Namen) { string temp; for(int i=0; i<20; ++i) { for(int j=0; j>i; ++j) { if(Namen[i]<Namen[j]) { temp=Namen[i]; Namen[i]=Namen[j]; Namen[j]=temp; } } } }
-
Hi.
WAS geht den nicht? Kompilieren?Ausführen?
Ich wette, er macht einfach nix..

for(int j=0; j>i; ++j)Sollte das nicht eher j<i heissen? Weil, wen du j>i machst, wird weitergemacht, wenn j grösser i ist, da das aber so nicht zustande kommen kann, wird beendet..
Im übrigen. Wie willst du strings vergleiche? Die Anfangsbuchstaben?
-
drakon schrieb:
Im übrigen. Wie willst du strings vergleiche? Die Anfangsbuchstaben?
Mit ihrem operator== offensichtlich

-
Ja die Anfangsbuchstaben.
-
Bashar schrieb:
drakon schrieb:
Im übrigen. Wie willst du strings vergleiche? Die Anfangsbuchstaben?
Mit ihrem operator== offensichtlich

Ich sehe keinen operator == ;). Höchstens <.
- Aber ich wollte nur sicher gehen, dass er das auch richtig meint.
-
Naja. Danke funktioniert schon.

-
Clau xD schrieb:
Naja. Danke funktioniert schon.

Gut. Dann kannst du jetzt anstatt einem solchen Array ein vector draus machen und diese hässliche 20 da rausnehmen.

-
Ne ne ich lass lieber so sonst gehts wieder nicht.
