如何在有向图中的所有边上循环并获得源+目的地

How to loop over all edges in a directed graph and get source + destination

本文关键字:循环 目的地 有向图      更新时间:2023-10-16

我在有向图中添加了一堆节点和顶点,这些节点和顶点是用设置typedef boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, Node, Edge> graph; 创建的

Node有一个字符串作为节点名称,Edge有一个int作为其分数。我试图在所有边上循环,并输出源和目标名称,以及该边的分数。

您可以使用my_graph.m_edges.begin()在边上获得迭代器,它可以被取消引用以获得m_sourcem_target

如何获得分配给源节点和目标节点的名称,以及该边上的分数?

给定一个edge_descriptor e,您可以使用my_graph[source(e, my_graph)].namemy_graph[target(e, my_graph)].namemy_graph[e].score来获取您询问的信息。