gpt4 book ai didi

c++ - 使用自定义顶点标签打印 boost 图

转载 作者:搜寻专家 更新时间:2023-10-31 00:37:08 24 4
gpt4 key购买 nike

我想打印一个具有自定义(字符串)顶点标签的 boost 图,而不是默认的顶点编号标签 0,1,2...

我已经将图表初始化为:

typedef adjacency_list <vecS, vecS, directedS, 
property<vertex_name_t,string>
> Graph;

Graph g;
set<string> names;
map<string,Graph::vertex_descriptor> vertex ;

for(auto it = names.begin() ; it != names.end(); ++it )
vertex[*it] = add_vertex(*it,g) ;

现在我应该如何打印此图,以便获得 abc -> xyz; 形式的边,而不是 1->2;

最佳答案

例如,您可以从顶点描述符获取该名称

graph_traits<Graph>::edge_iterator it, end;
for(tie(it, end) = edges(g); it != end; ++it)
std::cout << get(vertex_name, g)[source(*it, g)] << " -> "
<< get(vertex_name, g)[target(*it, g)] << '\n';

关于c++ - 使用自定义顶点标签打印 boost 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20367055/

24 4 0