我是新手来增强图形库,我想通过从文件中读取边缘列表来创建图形.
该edge_list.dat
文件的示例如下:
...
123 445
4535 343
3432 454
123 345
123 566
...
Run Code Online (Sandbox Code Playgroud)
文件的每一行代表图形的边缘,每行中的两个数字是与边缘对应的节点ID.现在我想edge_list.dat
使用boost图库从文件中创建一个图形.
但是,我事先并不知道图表的大小.我需要在整个过程中将顶点添加到图形中.但是,为每个顶点创建一个顶点描述符是不切实际的,如下所示:
Graph::vertex_descriptor v0 = boost::add_vertex(g);
Graph::vertex_descriptor v1 = boost::add_vertex(g);
Run Code Online (Sandbox Code Playgroud)
我想通过顶点id访问顶点.我真的不知道该怎么做.现在,我想出的解决方案是创建一个映射,其中键是id,值是vertex_descriptor
:
std::map<int,Graph::vertex_descriptor> VertexList;
VertexList[123]=boost::add_vertex(g);
Run Code Online (Sandbox Code Playgroud)
但是有没有办法可以在不创建地图的情况下完成这项工作?
提前致谢.