文字列を降順で並べ替えるためのC++(STL)の文字列関数はありますか? そうでなければ、O(n)時間内に降順で文字列をソートする方法。文字列を降順でソートします。
答えて
文字列をソートする機能がC++にあり、std::less
ではなくstd::greater
と比較するように指示することで降順に並べ替えることができます。
ただし、O(n)時間でソートされません(O(n log n)になります)。そのためにバケットソートを使用する必要があります。
最も簡単な方法はstd :: sort it、次にstd :: reverse itです。 ソートはアルゴリズムからのものです。 逆はユーティリティからです。
#include <iostream>
#include <string>
#include <algorithm>
#include <utility>
int main(){
std::string str = "Hello Beep 5412";
std::cout << "normal string:" << std::endl;
std::cout << str << std::endl;
std::sort(str.begin(), str.end()); //sort it
std::reverse(str.begin(), str.end()); //reverse it
std::cout << "\nsorted, descending:" << std::endl;
std::cout << str << std::endl;
system("pause");
return 0;
}
出力:
normal string:
Hello Beep 5412
sorted, descending:
polleeeHB5421
'std :: sort'を' std :: greater'と使用する方が、 'sort(begin(str)、end(str)、std :: greater
ええ、それは本当です。また、きちんとした方法 –
あなたは線形時間が必要な場合は、汎用的なソートアルゴリズム(彼らはすべてのO(n log n)
平均的なケースだ)のいずれかを使用することはできません。そうです:いいえ、標準ライブラリには適切な関数が1つしかありません。
Pigeonhole sortまたは他のバケットソートのようなものがあります:可能な256文字のそれぞれの頻度を追跡し、後でその文字列を書き換えます。
char値に必要な語彙順序付けのアイデアは依然として必要ですが、正しい(降順)順序でバケツを歩いて文字列を書き直すだけです。
- 1. リストボックスの文字列アイテムを昇順または降順にソート
- 2. takeOrderedを使用して、文字列の降順でソートする
- 3. 配列内の文字列をソートする方法は?降順/昇順
- 4. 配列を作成し、昇順と降順でソートする[MIPS]
- 5. ソート順インデックスの降順
- 6. 1つのファクタ列でデータフレームをソートする別のファクタが降順に降順
- 7. 英数字ストリングの降順ソート
- 8. SWT列の降順ソート方法
- 9. テーブル・ソートで降順の表のソート順序を設定する
- 10. アルファベット文字配列を昇順にソート
- 11. 文字列をphpで配列に変換して出力し、昇順と降順で出力します
- 12. 3回目のクリックで昇順/降順の列ソートのリセット
- 13. DataView.ToTable()は降順ソート順を維持しますか?
- 14. 昇順 - 降順 - 可変文字列in html.erb
- 15. numpyで降順でソートするには?
- 16. グリッドビューの列を昇順と降順にソート
- 17. アンダースコアを使用して降順ソートJS
- 18. リンクリストを降順でソートしようとしています
- 19. ポリマーが降順でjsonデータをソート
- 20. spark scalaのハイブテーブルを降順でソート
- 21. Javaの2D文字列配列を降順にソートしてファイルに書き込む
- 22. 文字列の文字をアルファベット順にソート
- 23. C++での降順での挿入ソート
- 24. 日時を降順でソートしていますか?
- 25. 正しい文字列のソート順は何ですか?
- 26. PHPがキー値の降順で配列をソート
- 27. 2つの文字列を比較し、アルファベット順にソートする
- 28. AS3:正しい順序で文字列を維持しながら配列を降順に並べ替え
- 29. 単一リンクリストを降順にソート
- 30. awk - 文字列をアルファベット順にソートし、文字列内の重複を削除します。
関数は 'sort'と呼ばれます – user463035818
@ Yathartha O(n)でソートするアルゴリズムを知っていますか? –
http://stackoverflow.com/questions/9107516/sorting-characters-of-a-c-string 重複 –