尝试将顶点添加到现有图形时代码崩溃

时间:2015-04-29 12:17:16

标签: boost

我正在尝试将顶点添加到现有图形的简单任务,但代码崩溃了:

typedef adjacency_matrix<undirectedS> UGraph;
graph_traits<UGraph>::vertex_descriptor u;

UGraph G(2);

int numOfComponents = 0;
int numOfVertices = 0;

numOfVertices = num_vertices(G); //numOfVertices = 2
vector<int> component(numOfVertices);
numOfComponents = connected_components(G, &component[0]); //numOfComponents = 2

到目前为止看似逻辑 - 两个顶点,没有连接,所以有两个连接的组件。

现在,当我尝试添加顶点时:

u = vertex(3, G); //u=3
add_vertex(u,G); // <--- crashes here
我错过了什么吗?如何将顶点添加到现有图形?删除怎么样?我会在命令remove_vertex(id)后看到一个较少的顶点吗?

另外,是否可以添加id为100而不是id 3的顶点(不是继续id号..)?

感谢。

0 个答案:

没有答案