1. ホーム
  2. c++

[解決済み] C++文字列の文字の並べ替え

2022-03-03 17:35:34

質問

文字列がある場合、文字をソートする内蔵の関数があるのでしょうか、それとも自分で書かなければならないのでしょうか?

例えば

string word = "dabc";

というように変えたい。

string sortedWord = "abcd";

charを使った方が良いのでは?C++でこれを行うにはどうしたらよいでしょうか?

解決方法は?

があります。 ソートアルゴリズム 標準ライブラリのヘッダにある <algorithm> . インプレースでソートされるので、以下のようにすると、元の単語がソートされるようになります。

std::sort(word.begin(), word.end());

オリジナルを失いたくない場合は、まずコピーをとってください。

std::string sortedWord = word;
std::sort(sortedWord.begin(), sortedWord.end());