繁体   English   中英

邻接表c ++的大小边缘和顶点

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM