再帰的処理を使って文字列を逆にする方法

解決


白白  2006-02-14 03:51:40  No: 60708

ある文字列codeを再帰的処理を使用して逆順にしたいのですが方法が思いつきません。
例えば、
code[] = "abcdefg" ;
と宣言して再帰的処理を行うとcodeの中身がgfedcbaとなるようにしたいのです。

どうか宜しく御願い致します。


DD.  2006-02-14 06:26:18  No: 60709

再帰を使う必要はないと思いますが。

自分なりにまず作成したコードを提供してから、わからないところの要点をまとめて投稿するのがよいようです。

丸投げはいけません。

void Reflexive( char* str, int begin, int end )
{
  if ( begin >= end ) return;
  char tmp = str[begin];
  str[begin] = str[end-1];
  str[end-1] = tmp;
  return Reflexive( str, begin+1, end-1 );
}


επιστημη  2006-02-14 07:12:40  No: 60710

std::string rev(const std::string& str) {
  return str.size() == 1 ? str : rev(str.substr(1)) + str[0];
}


白白  2006-02-14 23:54:24  No: 60711

DD.様、επιστημη様返信有難う御座います。

今度からはもう少し考える時間を増やそうと思います。
本当に有難う御座いました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加