typedef boost::unordered_map<int, void*> OneDimentionalNodes;
typedef boost::unordered_map<int, OneDimentionalNodes> TwoDimentionalNodes;
TwoDimentionalNodes nodes;
これは有効ですか?
unordered_mapsのキーは単一の整数であるため、ハッシュ関数は使用しません。コンパイルしますが、このように繰り返すと、this-> hash_function()(k);にアクセスしようとするとクラッシュします。
for (TwoDimentionalNodes::iterator it= nodes.begin(); it != nodes.end() ; ++it)
{
for(OneDimentionalNodes::iterator it2 = nodes[it->first].begin(); it2 != nodes[it->first].end() ; ++it2)
{
// do stuff
}
}
私は他のコンテナにもオープンです
- O(1)アクセス
- O(n)反復
- スパース