小编den*_*nde的帖子

Boost图库:获取edge_descriptor或通过int类型的索引访问边

我是一名 BGL 新手,有一个(可能)简单的问题:我有一个有向图并使用边缘的捆绑属性,其中之一是 int 类型的索引。知道唯一索引后,我想获取该边对应的edge_descriptor,以便对其执行操作。以下示例总结了我的问题:

#include <boost/graph/adjacency_list.hpp>

struct EdgeProperties {
    EdgeProperties(): distance(10), time_limit(5) {};
    int index;
    int distance;
    int time_limit;
};

typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, EdgeProperties> Graph;

int main() {

    Graph graph;

    EdgeProperties edge_prop1, edge_prop2, edge_prop3, edge_prop4;

    // Define edge properties
    edge_prop1.index = 0;
    edge_prop2.index = 1;
    edge_prop3.index = 2;
    edge_prop4.index = 3;

    // Add edges to graph
    boost::add_edge(0, 1, edge_prop1, graph);
    boost::add_edge(0, 2, edge_prop2, graph);
    boost::add_edge(1, 3, edge_prop3, graph);
    boost::add_edge(2, 3, edge_prop4, graph);

    // Get vertex_descriptor from an …
Run Code Online (Sandbox Code Playgroud)

c++ boost graph

2
推荐指数
1
解决办法
2116
查看次数

标签 统计

boost ×1

c++ ×1

graph ×1