gpt4 book ai didi

boost - Boost.Graph 中的 boost::out_edges( v, g ) 有什么作用?

转载 作者:行者123 更新时间:2023-12-03 15:30:24 28 4
gpt4 key购买 nike

我无法理解此功能的文档,我已多次看到以下内容

tie (ei,ei_end) = out_edges(*(vi+a),g);

**g**<-graph
**vi**<-beginning vertex of graph
**a**<- a node
**ei and ei_end** <- edge iterators

函数返回什么,它做什么,我什么时候可以使用?

例如,我可以找到一个节点的所有边吗?

最佳答案

提供迭代器来迭代 外出节点的边 u从图 g ,例如:

  typename graph_traits < Graph >::out_edge_iterator ei, ei_end;
for (boost::tie(ei, ei_end) = out_edges(u, g); ei != ei_end; ++ei) {
auto source = boost::source ( *ei, g );
auto target = boost::target ( *ei, g );
std::cout << "There is an edge from " << source << " to " << target << std::endl;
}

哪里 Graph您对图形的类型定义是 g就是一个例子。然而, out_edges仅适用于具有有向边的图。与 out_edges相反是 in_edges它为您提供迭代器来计算节点的传入边。

在无向图中, out_edgesin_edges将返回连接到相关节点的所有边。

但是,可以在 http://www.boost.org/doc/libs/1_55_0/libs/graph/doc/graph_concepts.html 上轻松找到更多信息。或者只是在 Boost.Graph 示例/测试中。

关于boost - Boost.Graph 中的 boost::out_edges( v, g ) 有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26873968/

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