【图论实战】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;
相关推荐
小陶的学习笔记19 分钟前
python~基础
开发语言·python·学习
学编程的闹钟21 分钟前
92【<h1-h6>指定文字大小】
学习
森之鸟24 分钟前
【我的经济学基础01-宏观经济】
学习
我的xiaodoujiao26 分钟前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 46--撰写 README项目说明文档文件
python·学习·测试工具·pytest
第七序章32 分钟前
【Linux学习笔记】初识Linux —— 理解gcc编译器
linux·运维·服务器·开发语言·人工智能·笔记·学习
学编程的闹钟40 分钟前
99【html与php的混写】
学习
-Springer-41 分钟前
STM32 学习 —— 个人学习笔记5(EXTI 外部中断 & 对射式红外传感器及旋转编码器计数)
笔记·stm32·学习
魔力军1 小时前
Rust学习Day3: 3个小demo实现
java·学习·rust
●VON1 小时前
HarmonyOS应用开发实战(基础篇)Day01-《ArkTS基本知识》
学习·华为·harmonyos·鸿蒙·von
玄同7652 小时前
Python Random 模块深度解析:从基础 API 到 AI / 大模型工程化实践
人工智能·笔记·python·学习·算法·语言模型·llm