Dat*_*Chu 6 c++ boost boost-graph
我有一个带有VertexList = vecS的Boost图.
typedef adjacency_list <listS, vecS, undirectedS, TrackInformation, LinkInformation> TracksConnectionGraph;
Run Code Online (Sandbox Code Playgroud)
现在我想迭代我的顶点并删除那些具有特定属性的顶点.我怎样才能做到这一点?
问题是每当我调用remove_vertex时,图中顶点的迭代器以及顶点描述符都会失效.
我认为不可能(在合理的时间内)作为vecS模板参数。看看 Boost 文档是怎么说的:
如果
VertexList的模板参数adjacency_listwasvecS,则该图的所有顶点描述符、边描述符和迭代器都将因此操作而失效。<...> 如果您需要频繁使用该remove_vertex()函数,那么listS选择器是模板参数的更好选择VertexList。
如果listS迭代器不会通过调用而失效remove_vertex,除非迭代器指向已删除的实际顶点。
| 归档时间: |
|
| 查看次数: |
1389 次 |
| 最近记录: |