C++ 文字列を途中経過を確認しながら辞書順にする
next_permutation
[始め,終わり]の範囲を起点として順当に辞書順にしていく。
使い方
string s = "cab"; sort(s.begin(), s.end()); do{ cout << s <<endl; }while(next_permutation(s.begin(),s.end()));
出力例
abc acb bac bca cab cba
このようにnext_permutationを使うことにより簡単に並び替えの途中経過を知ることができます。