linux下安装Boost库
apt-get install libboost-dev
新建图(邻接表建图)
#include <boost/graph/adjacency_list.hpp>
using namespace boost;
int main()
{
//1.新建无向图,使用邻接矩阵数据结构
boost::adjacency_list<listS, vecS, undirectedS> g;//listS是每个顶点的链表,用于表示与该顶点相连的所有顶点
//VecS是图中顶点的动态数组集合,用于表示所有的顶点,undirectedS表示图的形式为无向图,若改为directedS则为有向图
//2.增加顶点和边方法
add_edge(0, 1, g);//第一个参数是源顶点,第二个参数是目标顶点,第三个参数是图名
add_edge(1, 4, g);
add_edge(4, 0, g);
add_edge(2, 5, g);
}
遍历顶点和边
#include <iostream> // for std::cout
#include <utility> // for std::pair
#include <boost/graph/graph_traits.hpp>
#include <boost/graph/adjacency_list.hpp>
using namespace boost;
using namespace std;
int main()
{
//1.新建无向图,使用邻接矩阵数据结构
typedef adjacency_list<listS, vecS, undirectedS > Graph;
Graph g;
//2.增加节点和边方法
add_edge(0, 1, g);
add_edge(1, 4