C++ 文字列並び替え

#include <iostream>
#include <string>
#include <algorithm> // sort, reverseのため必要

using namespace std;

int main()
{
     string str;
     cin << str; // "hatena"を入力
     ...以下続く
}



・"hatena" -> "aaehnt" (昇順(A->Z))

sort(str.begin(), str.end());



・"hatena" -> "anetah" (反転)

reverse(str.begin(), str.end());



・"hatena" -> "tnheaa" (降順(Z->A))

sort(str.begin(), str.end());
reverse(str.begin(), str.end());



・文字列の大小比較

string a = "aaehnt";
string b = "tnheaa";
if(a < b) cout << "aaehntの方がtnheaaより小さい" << endl;