以下是使用C++的Boost库的Graph模块绘制一个网络图的示例代码:\n\ncpp\n#include <iostream>\n#include <boost/graph/adjacency_list.hpp>\n#include <boost/graph/graphviz.hpp>\n\nint main()\n{\n // 定义一个有向图类型\n typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS> Graph;\n\n // 创建一个图对象\n Graph g;\n\n // 添加顶点\n boost::add_vertex(g);\n boost::add_vertex(g);\n boost::add_vertex(g);\n\n // 添加有向边\n boost::add_edge(0, 1, g);\n boost::add_edge(1, 2, g);\n boost::add_edge(2, 0, g);\n\n // 创建一个输出流对象,用于输出GraphViz格式的图形描述\n std::ofstream out("graph.dot");\n\n // 使用GraphViz库将图写入输出流\n boost::write_graphviz(out, g);\n\n // 关闭输出流\n out.close();\n\n std::cout << "Graph created and saved as graph.dot" << std::endl;\n\n return 0;\n}\n\n\n此代码创建了一个有向图,其中包含三个顶点和三条有向边。然后,使用GraphViz库将图形写入名为"graph.dot"的输出文件中。可以使用GraphViz的命令行工具将该文件转换为其他格式的图像,如PNG、SVG等。


原文地址: https://www.cveoy.top/t/topic/p3YG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录