gpt4 book ai didi

c++ - 从 boost::adjacency_list 获取边属性(包括相关顶点)

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:11:57 26 4
gpt4 key购买 nike

所以,我今天一定已经看了一个小时的 Boost 文档了。我一定是瞎了。我希望有一个简单的问题:

如何使用 boost::adjacency_list 获取边的相应顶点?

我有以下代码,我想弄清楚:

typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS> Graph;
typedef boost::graph_traits<Graph>::edge_iterator EdgeIterator;
typedef std::pair<EdgeIterator, EdgeIterator> EdgePair;

EdgePair ep;
for (ep = edges(g); ep.first != ep.second; ++ep.first)
{
// Get the two vertices that are joined by this edge...
}

有人知道怎么做吗?

谢谢

最佳答案

您可以在this page中找到您需要的功能(在名为“非成员函数”的部分中)。您需要的是 sourcetarget

typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS> Graph;
typedef boost::graph_traits<Graph>::edge_iterator EdgeIterator;
typedef std::pair<EdgeIterator, EdgeIterator> EdgePair;
typedef boost::graph_traits<Graph>::vertex_descriptor VertexDescriptor;

EdgePair ep;
VertexDescriptor u,v;
for (ep = edges(g); ep.first != ep.second; ++ep.first)
{
// Get the two vertices that are joined by this edge...
u=source(*ep.first,g);
v=target(*ep.first,g);
}

关于c++ - 从 boost::adjacency_list 获取边属性(包括相关顶点),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12000987/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com