マップコンテナ内の要素をキーではなく値を使って並べ替える必要があります。どうやってするの?私はそのマップがキー値でソートできることを知っていますが、その逆はどうやって行うのですか。私はstackoverfrlowで同じ質問を見つけました。私はこれが好きですsolution。しかし、私は "ダンプin pair<K,V>
"という意味を明確にしたいと思います。私はそれのための特別な構造を作成したくない、それはエレガントではありません。あなたはどうすればsolutionを実装していますか?C++、stl、キーではなく値で並べ替える方法
3
A
答えて
19
std :: mapの情報をstd :: vectorにダンプするために、2つのイテレータをとるstd :: vectorのコンストラクタを使用することができます。
std::vector<std::pair<K,V> > myVec(myMap.begin(), myMap.end());
あなたは、その後でそれをソートします:あなたは彼らが正しい順序になっている場合、それは真を返す持っ
bool myFunction(std::pair<K,V> first, std::pair<K,V> second);
:署名で定義された関数になり
std::sort(myVec.begin(),myVec.end(),&myFunction);
myFunction
(最初は2番目の前にすべきです)。それらの順序が間違っている場合はfalseを返します(つまり、2番目は最初のものにする必要があります)。
また、あなたはあなたの問題にもっと敏感に思われる、boost::bimapで見たいと思うかもしれません。
関連する問題
- 1. キーではなく値でマップを並べ替える
- 2. PHP foreachキー/値で並べ替え
- 3. Riakでデータを並べ替え/並べ替える方法は?
- 4. 並べ替えで並べ替え
- 5. Ext.grid.NumberColumnの項目を値で並べ替える方法は?
- 6. ハッシュマップでハッシュコードで任意の値を並べ替える方法
- 7. アルファベットで同じ値のキーを並べ替える
- 8. マップの文字列キーを数値で並べ替える
- 9. Pythonソート値リスト、値で並べ替え
- 10. ループで値を並べ替える
- 11. Javascriptオブジェクトを値で並べ替える
- 12. 並べ替えの方法配列インデックスで並べ替えられたリスト
- 13. アルファベットではなく文字列プロパティで並べ替える方法
- 14. C++で別のベクトルと並べ替えてベクトルを並べ替える
- 15. C#辞書で反復処理する値で並べ替え
- 16. 擬似複合キーで辞書を並べ替える方法は?
- 17. Djangoのコンテンツオブジェクトの値で並べ替え
- 18. ソートで数値的に並べ替え
- 19. カスタムmysqlをフィールド値で並べ替え
- 20. グループの最大値で並べ替え
- 21. 絶対値で並べ替え
- 22. C#ASP.NETリピータ並べ替え
- 23. マップをC++で並べ替え
- 24. C++ポーカーでのカードの並べ替え
- 25. 基数C++で並べ替え
- 26. PostgreSQLクエリで異なるタプルを並べ替える方法
- 27. DataGrid列を並べ替える方法
- 28. Magentoカテゴリトップメニューを並べ替える方法
- 29. カスタムオーダーで並べ替える
- 30. AlphaFunで並べ替える
地図の目的はキーでソートすることです...同じ時間に2つをソートすることはできません。(私はdownvote :)) –
"ソートマップコンテナ"とはどういう意味ですか?実際に要素をソートするか、検索のキーと値の役割を元に戻しますか? 「ペアでダンプする」とは、ペアから新しいキー/値のペアを挿入することですか? (心は、私はdownvoterではなかった) – ssube
私は問題が何であるかがはっきりしていないのであなたの質問をdownvoted。 「エレガントではない」とは何ですか?リンクした質問には、3つの選択肢があり、3つの回答があります。 –