当前位置: 首页 > 知识库问答 >
问题:

boost图形从txt文件循环创建图形

吕永嘉
2023-03-14

问题可能涉及:使用boost图形库:如何通过从文件中读取边缘列表来创建图形

然而,这个答案并没有真正帮助我。

我想使用Boost的邻接列表类创建一个图。数据在一个有两列的。txt文件中。

5 14
7 2
3 18
21 207
...
std::ifstream data("data.txt");
typedef adjacency_list<> Graph;
Graph g; 
while (data >> nodeA >> nodeB){
   add_edge(nodeA, nodeB, g);
} 

理想的情况是,我想这样做:

while (data >> nodeA >> nodeB){
   graph_traits<Graph>::vertex_descriptor *newVertex = new graph_traits<Graph>::vertex_descriptor;
   newVertex = vertex(nodeA,g); 
   graph_traits<Graph>::vertex_descriptor *otherVertex = new graph_traits<Graph>::vertex_descriptor;
   otherVertex = vertex(nodeB,g); 
   add_edge(newVertex, otherVertex,g);
}

类似于:www.boost.org/doc/libs/1_56_0/libs/graph/example/undirected_marcincy_list.cpp

但是,我得到一个编译错误。

提前谢谢你们,并致以最良好的祝愿。

共有1个答案

梁盛
2023-03-14

正如这里已经讨论过的:boost图形理解顶点创建行为由于本文中讨论的原因而不起作用

我看不出有什么直接的问题。除非您的顶点非常稀疏(例如,您有一个节点id,比方说,99,999,999,999,999,并且memery的使用带来了一个问题)。

否则,您可以

    null
 类似资料:
  • 我有一个由顶点和边表示的图的文本文件(邻接列表)。有没有一个工具来创建一个图形的可视化,它可以读取一个文本文件? 文本文件的格式为 它是一个无向图。0 1 2表示0个邻居1,0个邻居2,反之亦然,因为它是无向的. 谢谢 鲁珀特

  • 作为程序的一部分,我需要显示属于一个文件夹(JPG文件)的图像。为此,我有以下代码: 如果我在移动文件管理器中浏览该文件,并打开该文件,它是正确的显示,所以,图像格式没有问题。此外,该图像是用相机拍摄的,与其他正确解码的图像相同。 如何解决这个问题,或者,有没有替代的方法来做到这一点?

  • 本文向大家介绍用Javascript创建图形,包括了用Javascript创建图形的使用技巧和注意事项,需要的朋友参考一下 我们将创建一个支持权重以及有向和无向类型的图类。这将使用邻接表来实现。随着我们转向更高级的概念,图形的权重和有向性质都将派上用场。 邻接列表是单独列表的数组A。数组Ai的每个元素都是一个列表,其中包含与顶点i相邻的所有顶点。我们使用2个成员,节点和边来定义它。 让我们通过定义