1

给定一个空的 boost::graph g,我想设置这个图中的顶点数,然后添加一些边。但是从文档中,我找不到相关的功能。我发现的所有示例都定义了初始化中顶点的大小(例如 Graph g(10) 定义了一个具有 10 个顶点的图)。但是我在定义图形时不知道大小。我想先定义一个Graph g,然后再设置大小。

4

2 回答 2

2

您可能可以尝试一些肮脏的技巧,例如:

add_edge(0,4999,g);
remove_edge(0,4999,g);

它利用 add_edge 对 adjacency_list 的副作用,即 BGL 在必要时扩展顶点向量这一事实。

于 2013-10-14T10:28:31.190 回答
1

最简单的方法是为您想要的每个顶点调用 boost::add_vertex(graph) 方法。

这是开始使用 C++ Boost 的图形库的好地方

请注意,您不必逐个添加顶点。如果您只关心边,那么 add_edge() 将为您添加缺失的顶点。

于 2013-07-11T17:36:33.993 回答