ユニークでないキーまたは値を持つ双方向コンテナが必要です。マルチマップは単方向であり、boost :: :: bimapはユニークなキーと値しか許さないので動作しません。標準の中のそのようなコンテナや、それ以外の場合は、そのような構造を実装するためのポインタ/記事があれば幸いです。最大100個程度の要素ペアしか期待できません。何か助けていただきありがとうございます、Jeanetteユニークでないキーまたは値を持つ双方向マップを検索する
1
A
答えて
0
実際に後押し:: 2領域マップは非ユニークキーを許可しない:
例:
#include <boost/bimap.hpp>
#include <boost/bimap/multiset_of.hpp>
#include <string>
#include <iostream>
namespace bm = boost::bimaps;
int main()
{
using mybimap = bm::bimap< bm::multiset_of<std::string>, int >;
mybimap map;
map.left.insert(mybimap::left_value_type("orange", 1));
map.left.insert(mybimap::left_value_type("apple", 42));
map.left.insert(mybimap::left_value_type("orange", 7));
auto rng = map.left.equal_range("orange");
for(auto it = rng.first; it != rng.second; ++it)
std::cout << it->first << ": " << it->second << "\n";
}
ライブデモ:
2
ペアのベクトルを使用することができます。 100要素しかない場合、線形検索は両方のペア要素のルックアップに完全に適しています。より大きなコレクションがある場合、またはいずれかのペア要素で同じ範囲が頻繁に必要な場合は、別々のインデックス構造を維持できます。
(これはとにかくどのように実装されるかboost.bimap基本的である。)関連する問題
- 1. ユニーク制約、双方向
- 2. Excelでの双方向検索
- 3. JPA - ユニークな双方向エンティティの関係
- 4. Javaの双方向多値マップ
- 5. 重複した値を許可し、キーのある値のリストを返す双方向マップが必要です
- 6. ルアの双方向マップ
- 7. C++のstd ::マップの値を検索ではなく、キー
- 8. clojureの双方向マップですか?
- 9. Javaの双方向マップですか?
- 10. ActiveRecord双方向外部キー。
- 11. リストのPython辞書 - ユニークな値を持つキーを返す
- 12. AngularJS - キー値オブジェクトの双方向バインディングなし
- 13. オブザーバーパターンは一方向または双方向データフローです
- 14. テキストボックス双方向バインディングではない
- 15. ASP.NETで双方向(双方向)データバインディングとは何ですか?
- 16. 検索Azets検索を使用した値を持つファセット
- 17. JMapper - 双方向関係を正しくマップする方法
- 18. 各キーの最大値を持つ行を検索
- 19. スプレッドシートのすべての列でユニークな値を検索する
- 20. Qtに2ウェイ(双方向)マップはありますか?
- 21. AngularJS双方向バインディング戻り値なし
- 22. ユニークな値または別個の値を持つテーブルをフェッチしますか?
- 23. 双方向検索の時間複雑度
- 24. ムービーシアター双方向検索機能のデータ構造
- 25. 値の範囲でキーを持つ文書を検索するMongoDBのパフォーマンス
- 26. "like"検索キーを持つflowlayoutpanelの検索コントロールVB.NET
- 27. 値を持たないキーを持つ方法、または異なる値を設定する方法、またはIndexedDbに入れる方法は?
- 28. 双方向Iは、入力フィールドと2つのボタンを持っているangular4
- 29. シェーカーソートまたは双方向バブルソート
- 30. 双方向またはTropoウェブAPI