我打算製作鏈接以識別兩個向量的關聯。 讓我們假設我們有兩個向量:在兩個向量中的元素之間創建鏈接
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相關聯,併爲圖片相同。我只關注兩個向量中的位置編號,我不在乎這兩個向量的元素內容是什麼。我所做的是設計一個結構,如:
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*>?
}
我認爲它不好,並且不清楚這個關聯。有沒有更好的方法來建立這兩個向量的鏈接?
謝謝,我有我的情況下,使用bimap中的一個問題。如果我插入(seg3,pic3),這很酷,雙重搜索。但對於(seg2,)的情況,如何存儲它,我需要存儲(seg2,pic2),(seg2,pic3)?這是否合適?或者我錯過了什麼? –
是否可以重複鍵?非常感謝! –
@ CJAN.LEE:是的。請參閱[這裏](http://www.boost.org/doc/libs/1_42_0/libs/bimap/doc/html/boost_bimap/the_tutorial/discovering_the_bimap_framework.html#boost_bimap.the_tutorial.discovering_the_bimap_framework.interpreting_bidirectional_maps)。 –