1

2 つのベクトルの関連性を識別するためのリンクを作成する予定です。2 つのベクトルがあるとします。

vector1 <seg1, seg2, seg3>
vector2 <pic1, pic2, pic3,pic4>

そして、関連付けは次のように想定されます。

seg1->(pic1, pic2) seg2->(pic1,pic2) seg3->pic3 //from vector1 side
pic1->(seg1, seg2) pic2->(seg1,seg2) pic3->seg3 pic4->nothing //from vector2 side

私が欲しいのは、どのセグがどのindexNumsの写真に関連付けられているかを知ることであり、写真についても同じです。2 つのベクトルの位置番号のみに注目し、これら 2 つのベクトルの要素の内容は気にしません。私がしたことは、次のような構造体を設計することです:

Struct 
{
  int indexNum;
  Bool type; //seg or pic
  addlink(indexNum); //add a link to another Struct, and the type should be opposite.
  removelink(indexNum); //remove a link from a given indexNum
  getLinks();  //return all of links, the return should be vector<Struct*>? 
}

良くないと思いますし、協会としても不明確です。この 2 つのベクトルのリンクを作成するより良い方法はありますか?

4

3 に答える 3

1

Boost.Bimapは、このような問題を解決するために設計されました。

于 2013-06-11T21:30:16.147 に答える
0

マルチマップがあなたにとって良い解決策になるのだろうか

http://www.cplusplus.com/reference/map/multimap/

于 2013-06-11T21:28:18.767 に答える