增强图形:检查图形中的顶点/边是否仍处于活动状态

时间:2018-07-31 22:24:13

标签: c++ boost graph

我对Boost Graph还是很陌生,所以也许我缺少一个明显的答案。我为此提前道歉。 我用两个listS中包含的顶点和边实例化了一个图。如果我的代码中的某个函数使用remove_vertex(v,g)/ remove_edge(e,g)操作删除了一个顶点/边缘,那么另一个函数如何在不具有已存储的vertex_descriptor / edge_descriptor的情况下仍然有效(例如包含在图中)使用vertex_set()/ out_edge_list(v)函数检查图形中包含的所有顶点/边?

我尝试过

boost::clear_vertex(v,g);
boost::remove_vertex(v,g);
if (v == g.null_vertex())
    std::cout << "invalid" << std::endl;
else
    std::cout << "valid" << std::endl;

delete v;
v = nullptr;

但是当我尝试删除顶点时,我进入标准输出“ valid”,并且应用程序崩溃。 非常感谢您的帮助。

0 个答案:

没有答案