【图论实战】Boost学习 02:基本类型

/* 顶点 */
// 描述

复制代码
typedef boost::graph_traits < graph_t >::vertex_descriptor vertex_descriptor; 

// 迭代器方式一:vp中的一对迭代器分别指向第一个顶点和最后的一个顶点之后

cpp 复制代码
typedef boost::graph_traits < graph_t >::vertex_iterator viter;
std::pair<viter, viter> vp=vertices(g);
for(viter=vp.first ; viter != vp.second; ++viter)
   std::cout << *viter << " ";

// 迭代器方式二

cpp 复制代码
typedef graph_traits<Graph>::vertex_iterator vertex_iter;
std::pair<vertex_iter, vertex_iter> vp;
for (vp = vertices(g); vp.first != vp.second; ++vp.first)
        std::cout << index[*vp.first] << " ";
std::cout << std::endl;

/* */
// 描述

cpp 复制代码
typedef boost::graph_traits < graph_t >::edge_descriptor edge_descriptor;

// 迭代器方式一: 得到所有边,erange中的一对迭代器分别指向第一条边和最后的一条边之后

cpp 复制代码
typedef graph_traits<graph_t>::edge_iterator eiter;
std::pair<edge_iter, edge_iter> erange = edges(g);
for(eiter=erange.first; eiter!=erange.second; ++eiter)
   cout << source(*eiter,g) << "-->" << target(*eiter,g) << endl;

// 迭代器方式二

cpp 复制代码
 graph_traits<Graph>::edge_iterator ei, ei_end;
 for (tie(ei, ei_end) = edges(g); ei != ei_end; ++ei)
    std::cout << "(" << index[source(*ei, g)]<< "," << index[target(*ei, g)] << ") ";
 cout << endl;

/* 权重 */

cpp 复制代码
boost::property_map<graph_t, boost::edge_weight_t>::type pmpWeightmap = boost::get(boost::edge_weight, g);

/* 点索引 */

cpp 复制代码
boost::property_map<graph_t, boost::vertex_index_t>::type pmpIndexmap = boost::get(boost::vertex_index, g);

/* 输出属性 */

cpp 复制代码
boost::dynamic_properties dp;
相关推荐
行业探路者11 小时前
二维码标签是什么?主要有线上生成二维码和文件生成二维码功能吗?
学习·音视频·语音识别·二维码·设备巡检
li星野11 小时前
OpenCV4X学习—核心模块Core
人工智能·opencv·学习
@zulnger12 小时前
python 学习笔记(多线程和多进程)
笔记·python·学习
凉、介12 小时前
SylixOS 中的 Unix Socket
服务器·c语言·笔记·学习·嵌入式·sylixos
好奇龙猫12 小时前
【人工智能学习-AI-MIT公开课第 19. 架构:GPS、SOAR、包容架构】
人工智能·学习·架构
saoys12 小时前
Opencv 学习笔记:绘制动态随机直线(附实时展示)
笔记·opencv·学习
Yeats_Liao13 小时前
MindSpore开发之路(二十六):系列总结与学习路径展望
人工智能·深度学习·学习·机器学习
modelmd13 小时前
Go 编程语言指南 练习题目分享
开发语言·学习·golang
Nan_Shu_61413 小时前
学习: Threejs (2)
前端·javascript·学习
学历真的很重要14 小时前
LangChain V1.0 Context Engineering(上下文工程)详细指南
人工智能·后端·学习·语言模型·面试·职场和发展·langchain