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

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

陈毅
2023-03-14
...
123 445
4535 343
3432 454
123 345
123 566
...
Graph::vertex_descriptor v0 = boost::add_vertex(g);
Graph::vertex_descriptor v1 = boost::add_vertex(g);
std::map<int,Graph::vertex_descriptor> VertexList;
VertexList[123]=boost::add_vertex(g);

提前谢了。

共有1个答案

利博远
2023-03-14

啊哦。雄心勃勃,嗯:)

Boost图形库。和文本解析。让我们看看我们能做什么:提升图形+提升精神气=良好的团队合作。

在Coliru上看现场直播

#include <boost/fusion/adapted/std_pair.hpp>
#include <boost/spirit/include/qi.hpp>
#include <boost/graph/edge_list.hpp>
#include <fstream>

typedef std::pair<int,int> Edge;
typedef std::vector<Edge> EdgeList;
typedef boost::edge_list<EdgeList::iterator> Graph;

namespace qi = boost::spirit::qi;

int main()
{
    std::ifstream ifs("input.txt");
    ifs >> std::noskipws;

    boost::spirit::istream_iterator f(ifs), l;

    std::vector<Edge> edges;
    bool parse_ok = qi::phrase_parse(f, l, (qi::int_ >> qi::int_) % qi::eol, qi::blank, edges);

    Graph g(edges.begin(), edges.end());

    if (parse_ok)
    {
        std::cout << "Graph parsed with " << num_edges(g) << " edges\n";
    } else
        std::cout << "Parse error\n";

    if (f!=l)
        std::cout << "Remaining unparsed input: '" << std::string(f,l) << "'\n";
}
Graph parsed with 5 edges
Remaining unparsed input: '
'
 类似资料:
  • 问题可能涉及:使用boost图形库:如何通过从文件中读取边缘列表来创建图形 然而,这个答案并没有真正帮助我。 我想使用Boost的邻接列表类创建一个图。数据在一个有两列的。txt文件中。 理想的情况是,我想这样做: 类似于:www.boost.org/doc/libs/1_56_0/libs/graph/example/undirected_marcincy_list.cpp 但是,我得到一个编译

  • 我正在尝试从excel中读取数据,并用Java绘制图形。 我一直得到以下错误:

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

  • 我正试图从一张支票的图像中提取帐号。我的逻辑是,我试图找到包含帐号的矩形,对边框进行切片,然后将切片输入到OCR中,从中获取文本。 我面临的问题是,当矩形不是非常突出和浅色,我不能得到矩形的轮廓,因为边缘不是完全相连的。 如何克服这一点?我试过但不起作用的事情是 I不能增加侵蚀迭代,以侵蚀它更多,因为这样边缘与周围的黑色像素连接并形成不同的形状。 减小阈值偏移量可能会有所帮助,但似乎效率不高。因为

  • 问题内容: 我目前很容易绘制散点图,其中X轴是计算机名称,Y轴是其温度。如何绘制显示值而不是离散点的条形图? 我当前正在使用以下代码来渲染点: 我将如何修改此代码以获取从图的底部到该点的粗线而不是每个点的小方块? 谢谢。 问题答案: 我想我可能应该指出我是如何做到的-毕竟堆栈溢出也应该是一个存储库。在代码的早期是以下内容: 我扩展了形状渲染器,以始终返回正确宽度和高度的矩形,并将其放置在应该位于其