Reverse String
-
Ich muss in C einen Algorithmus schreiben der Strings rekursiv umdreht aber ich hab gar keine ahnung wie ich das angehen soll. Gibts eine Algorithmensammlung im Netz wo ich mich bedienen könnte, oder könnt ihr mir helfen?
-
lol das kriegt doch wohl jedes baby ohne fremde hilfe hin
-
std::string x; ... std::reverse(x.begin(), x.end());
-
Den Algorithmus keine standartfunktion von c++ so schlau bin ich auch
-
Da steht, daß er es rekursiv machen soll.
Wie könnte man einen string rekursiv umdrehen?
-
reverse(string ohne erstes Zeichen) + erstes Zeichen (Abbruch bei nur noch ein Zeichen übrig
-
letztes Zeichen + reverse(String ohne letztes Zeichen)
-
reverse(begin,end) = *end + reverse(begin+1,end-1) + *begin (zusammen mit Abfragen, daß die Pointer nicht aneinander vorbeilaufen)
Die letzte Möglichkeit hat den Vorteil, daß kein Umkopieren nötig ist, allerdings muß dafür möglicherweise zuerst die Länge des Strings berechnet werden (das geht am besten iterativ) zudem dürfte das die für die Implementierung kniffligste Variante sein.
-
-
Wir machen hier keine Hausaufgaben