notorious.madeye Geschrieben 27. Oktober 2005 Geschrieben 27. Oktober 2005 Hallo, ich hätte folgende Frage: Wie schaffe ich es einen Wert aus einem String Array in ein Char Array zu kopieren, um dass dann zum Vergleich zu übergeben? Hier mal der Code zum besseren Verständnis: { string wort[20]; chr *wortarray[20]; . . //Hier wird das String Array mit Wörtern aus einer Datei gefüllt . //Hier sollte dann der String in das Wortarray kopiert werden, um dann mit qsort sortiert zu werden qsort(wortarray,20,sizeof(char*), compare); //Aufruf von qsort } int compare(const void* left, const void* right) { return strcmp(*(char**)left,*(char**)right); } Danach soll das sortierte char Array wieder ins String Array geschrieben werden. Wer kann mir, bitte, bitte, bitte, helfen???? Ramme schon seit 3h den Kopf gegen den Tisch, hat aber leider noch nix gebracht. Mein erster Versuch war: int z2=0; do { wortarray[z2]=wort[z2]; z2++; }while(z2==19); Zitieren
Klotzkopp Geschrieben 27. Oktober 2005 Geschrieben 27. Oktober 2005 Muss es denn qsort sein? Warum nicht std::sort? Damit könntest du das das string-Array direkt sortieren. Zitieren
notorious.madeye Geschrieben 27. Oktober 2005 Autor Geschrieben 27. Oktober 2005 Benutzt std::sort denn den Quicksort Algorithmus? Wenn ja, dann wär ich damit auch super glücklich... Zitieren
Klotzkopp Geschrieben 27. Oktober 2005 Geschrieben 27. Oktober 2005 Benutzt std::sort denn den Quicksort Algorithmus? Wenn nicht, dann etwas besseres. Neuere Implementierungen benutzen üblicherweise einen Algorithmus, der auch im Worst case O(n log n) hat. Da das eine Templatefunktion ist, kannst du dir den Quellcode ansehen. #include <algorithm> string wort[20]; std::sort(wort, wort+20);[/code] Zitieren
notorious.madeye Geschrieben 27. Oktober 2005 Autor Geschrieben 27. Oktober 2005 Das Problem ist aber, das ich mit quicksort sortieren soll (Übungsaufgabe). Werde die Lösung zwar auch einbinden, aber ein quicksort wär mir seeeeeeeeeeeeeehr lieb. Zitieren
Klotzkopp Geschrieben 27. Oktober 2005 Geschrieben 27. Oktober 2005 Wenn du als Übungsaufgabe mit Quicksort sortieren sollst, dann sollst du den Algorithmus vermutlich selbst implementieren. Dann darfst du keine vorgefertigte Funktion benutzen, weder std::sort noch qsort. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.