[英]size edges and vertex of adjancency list c++
我有一个图,它是相邻列表 V(顶点)和 E(边)。 有什么方法可以像数组 sizeof(arr)/sizeof(arr[]) 一样获得边数和顶点分割位的大小。
简而言之:我想在不循环的情况下找到每个向量大小的总和。
注意:我没有尝试下面的代码正在工作。
Graph::Graph(unordered_map<unsigned int,vector<pair<unsigned int,unsigned int>>> data)
{
V = data.size();
for ( auto i : data )
{
E = E + i.second.size();
}
}
你可能正在寻找类似的东西
E = std::accumulate(data.begin(), data.end(), E,
[](size_t cur, const decltype(data)::value_type& elem) {
return cur + elem.second.size();
}
);
不确定这比原始循环清晰到什么程度。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.