当前位置: 首页 > news >正文

弥勒网站开发临海 网站建设

弥勒网站开发,临海 网站建设,网站建设说,没有网的电脑怎么安装wordpressboost::graph API简单小结 boost::graph是boost为图算法提供的API#xff0c;简单易用。 API说明 boost::add_vertex 创建一个顶点。 boost::add_edge 创建一条边。 boost::edges 获取所有的边。 boost::vertices 获取所有的顶点。 graph.operator[vertex_descriptor] 获…boost::graph API简单小结 boost::graph是boost为图算法提供的API简单易用。 API说明 boost::add_vertex 创建一个顶点。 boost::add_edge 创建一条边。 boost::edges 获取所有的边。 boost::vertices 获取所有的顶点。 graph.operator[vertex_descriptor] 获取顶点的属性Property。 graph.operator[edge_descriptor] 获取边的属性Property。 boost::out_edges 获取顶点的“出边”out edges即以当前顶点为出发点的边。 参考文档 https://theboostcpplibraries.com/boost.graph-algorithms https://zhuanlan.zhihu.com/p/338279100 https://www.boost.org/doc/libs/1_83_0/libs/graph/doc/quick_tour.html https://www.boost.org/doc/libs/1_83_0/libs/graph/doc/adjacency_list.html https://www.technical-recipes.com/2015/getting-started-with-the-boost-graph-library/ https://blog.csdn.net/Augusdi/article/details/105757441 代码示例 #include PSParametricModelingEngine.h#include QDebug #include algorithm #include iostream #include iterator #include utilityusing namespace std; using namespace boost;namespace {struct VertexProperty{int id;string name;};struct EdgeProperty{int id;int weight;};typedef boost::adjacency_listvecS, // 使用数组来存储vertex vecS,vecS, // 使用数组来存储vertex vecS,directedS, // 申明为有向图可以访问其out-edge,若要都能访问VertexProperty, // 定义顶点属性EdgeProperty // 定义边的属性PSGraph;typedef graph_traitsPSGraph::vertex_descriptor vertex_descriptor_t;void printVertices(){boost::adjacency_list g;boost::adjacency_list::vertex_descriptor v1 boost::add_vertex(g);boost::adjacency_list::vertex_descriptor v2 boost::add_vertex(g);boost::adjacency_list::vertex_descriptor v3 boost::add_vertex(g);boost::adjacency_list::vertex_descriptor v4 boost::add_vertex(g);std::cout v1 , v2 , v3 , v4 \n;}void printEdgeVector(){boost::adjacency_list g;boost::adjacency_list::vertex_descriptor v1 boost::add_vertex(g);boost::adjacency_list::vertex_descriptor v2 boost::add_vertex(g);boost::add_vertex(g);boost::add_vertex(g);std::pairboost::adjacency_list::edge_descriptor, bool p boost::add_edge(v1, v2, g);std::cout.setf(std::ios::boolalpha);std::cout p.second \n;p boost::add_edge(v1, v2, g);std::cout p.second \n;p boost::add_edge(v2, v1, g);std::cout p.second \n;std::pairboost::adjacency_list::edge_iterator, boost::adjacency_list::edge_iterator es boost::edges(g);std::copy(es.first, es.second, std::ostream_iteratorboost::adjacency_list::edge_descriptor{std::cout, \n});for (boost::adjacency_list::edge_iterator iterator es.first; iterator ! es.second; iterator){std::stringstream ss;ss (*iterator);qDebug() QString::fromUtf8(ss.str().c_str());}}void printEdgeSet(){typedef boost::adjacency_listboost::setS, boost::vecS, boost::undirectedS graph;graph g;boost::adjacency_list::vertex_descriptor v1 boost::add_vertex(g);boost::adjacency_list::vertex_descriptor v2 boost::add_vertex(g);boost::add_vertex(g);boost::add_vertex(g);std::pairgraph::edge_descriptor, bool p boost::add_edge(v1, v2, g);std::cout.setf(std::ios::boolalpha);std::cout p.second \n;p boost::add_edge(v1, v2, g);std::cout p.second \n;p boost::add_edge(v2, v1, g);std::cout p.second \n;std::pairgraph::edge_iterator, graph::edge_iterator es boost::edges(g);std::copy(es.first, es.second, std::ostream_iteratorgraph::edge_descriptor{std::cout, \n});for (graph::edge_iterator iterator es.first; iterator ! es.second; iterator){std::stringstream ss;ss (*iterator);qDebug() QString::fromUtf8(ss.str().c_str());}}int printDirectedGraph(){// 定义图类型使用vector存放顶点和边有向图typedef adjacency_listvecS, vecS, directedS graph_t;// 产生图对象有6个顶点graph_t g(6);// 加入边add_edge(1, 2, g);add_edge(1, 5, g);add_edge(2, 2, g);add_edge(2, 0, g);add_edge(3, 4, g);add_edge(4, 3, g);add_edge(5, 0, g);// 显示所有的顶点// 顶点迭代器类型typedef graph_traitsgraph_t::vertex_iterator vertex_iter;// 得到所有顶点vrange中的一对迭代器分别指向第一个顶点和最后的一个顶点之后。std::pairvertex_iter, vertex_iter vrange vertices(g);for (vertex_iter itr vrange.first; itr ! vrange.second; itr)qDebug() *itr;// 显示所有的边// 边迭代器类型typedef graph_traitsgraph_t::edge_iterator edge_iter;// 得到所有边erange中的一对迭代器分别指向第一条边和最后的一条边之后std::pairedge_iter, edge_iter erange edges(g);for (edge_iter itr erange.first; itr ! erange.second; itr)qDebug() source(*itr, g) -- target(*itr, g);return 0;};void printPSGraph(){PSGraph g; // 声明一个图VertexProperty vertex1{101, Vertex 1};VertexProperty vertex2{102, Vertex 2};VertexProperty vertex3{103, Vertex 3};VertexProperty vertex4{104, Vertex 4};EdgeProperty edge1{101, 1};EdgeProperty edge2{102, 2};EdgeProperty edge3{103, 3};EdgeProperty edge4{104, 4};EdgeProperty edge5{105, 5};EdgeProperty edge6{106, 6};vertex_descriptor_t vert1 boost::add_vertex(vertex1, g);vertex_descriptor_t vert2 boost::add_vertex(vertex2, g);vertex_descriptor_t vert3 boost::add_vertex(vertex3, g);vertex_descriptor_t vert4 boost::add_vertex(vertex4, g);auto e1 boost::add_edge(vert1, vert2, edge1, g);auto e2 boost::add_edge(vert2, vert3, edge2, g);auto e3 boost::add_edge(vert3, vert4, edge3, g);auto e4 boost::add_edge(vert4, vert1, edge4, g);auto e5 boost::add_edge(vert4, vert2, edge5, g);auto e6 boost::add_edge(vert4, vert3, edge6, g);typedef graph_traitsPSGraph::vertex_iterator vertex_iter;std::pairvertex_iter, vertex_iter vrange vertices(g);for (vertex_iter itr vrange.first; itr ! vrange.second; itr){auto prop g[*itr];qDebug() *itr : { prop.id , QString::fromUtf8(prop.name.c_str()) };typedef graph_traitsPSGraph GraphTraits;typename GraphTraits::out_edge_iterator out_i, out_end;typename GraphTraits::edge_descriptor e;for (boost::tie(out_i, out_end) out_edges(*itr, g); out_i ! out_end; out_i){e *out_i;auto prop g[e];qDebug() source(e, g) -- target(e, g) : { prop.id , prop.weight };}}typedef graph_traitsPSGraph::edge_iterator edge_iter;std::pairedge_iter, edge_iter erange edges(g);for (edge_iter itr erange.first; itr ! erange.second; itr){auto prop g[*itr];qDebug() source(*itr, g) -- target(*itr, g) : { prop.id , prop.weight };}} } // namespacevoid main() {// printEdgeSet();// printDirectedGraph();printPSGraph(); }
http://www.zqtcl.cn/news/346114/

相关文章:

  • 天津网站建设班模拟网站建设软件有哪些
  • 服务类的网站怎么做做软件的网站担保网站
  • 最新电子产品网站模板海口网站排名提升
  • 北京社保网站减员怎么做phpcms v9 实现网站搜索
  • 视频运营管理网站济南网站建设 济南货梯
  • html电影网站模板下载工具阿里云网站建设 部署与发布笔记
  • 建设跨境网站微信seo是什么意思
  • 我做彩票网站开发彩票网站搭建织梦如何仿手机网站源码下载
  • 东仓建设网站手机便宜的网站建设
  • 吕梁市住房与城乡建设厅网站wordpress 乐趣公园
  • 沈阳正规制作网站公司吗德成建设集团有限公司网站
  • 做网站标准步骤大学两学一做专题网站
  • 如何在手机上做网站Windows怎么建设网站
  • 专门做稀有产品的网站海口网站制作设计
  • 怎么查看自己的网站是否被百度收录网站的设计制作流程
  • 视觉设计网站芜湖做网站找哪家好
  • flash网站源码带asp后台电子商务有限公司网站
  • 一个网站有多少网页简单的logo设计
  • 重庆专业网站营销长春建站免费模板
  • 企业建设网站多少钱爱的网站歌曲
  • 宁波网站优化如何欣宝儿在什么网站做直播
  • 东营网签查询系统官方网站超炫的网站模板
  • 请人做网站谁来维护南宁营销型网站设计
  • 汕头做网站的公司西安建筑科技大学华清学院教务网
  • 免费行情网站在线石家庄正规制作网站公司
  • 站长工具网凡科网商城
  • 网站开发工程师需要会写什么区别沈阳网站建设建设公司哪家好
  • 营销型网站建设的优缺点利用海康威视做直播网站
  • 阿里手机网站开发框架怎么看网站被降权
  • 电视台做网站还是APP网络推广是什么意思