gpt4 book ai didi

boost - 在图中添加和删除现有边(BOOST)?

转载 作者:行者123 更新时间:2023-12-03 07:28:33 28 4
gpt4 key购买 nike

假设我有一个无向图 G。假设我添加以下内容

add_edge(1,2,G);
add_edge(1,3,G);
add_edge(0,2,G);

现在我再说一遍:
add_edge(0,2,G);

我的图中从 0 ---> 2 开始有两条边吗?

如果我添加了两次边缘并且我这样做了会发生什么:
remove_edge(0,2,G);

两个边缘都消失了,还是我还有其中之一?

最佳答案

你的两个问题的答案都取决于图 G 的定义。

第一个问题的答案,根据boost::graph tutorial , 取决于哪个 OutEdgeList您在图形定义中使用。如果使用不能表示多条边的容器(例如 setShash_setS ),无论插入多少次,两个顶点之间都只会有一条边。如果您使用 vectorS , multisetS或类似的,每次调用 add_edge() 都会插入一条边。 .

第二个问题的答案,根据the same page (页面的该部分不允许直接链接 - 只需搜索 remove_edge )是在调用特定的 remove_edge() 后将删除两个顶点之间的所有边。功能。 remove_edge()还有其他几个版本(在同一页面上描述),每个都有略微不同的行为。

关于boost - 在图中添加和删除现有边(BOOST)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27191846/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com