vector存图是一种非常优秀的存图技巧
其适用面也是非常的广泛,基本所有的图论题都可以用vector存图
首先来讲一讲vector
vector是一种数据结构
它可以说是一种长数组类型
普通的数组一般是一个点存一个数
但是vector类型数组可以一个点存很多个数
基于这一点,可以将图中点与点之间的关系放到一个vector数组中去
比如:a与b,c,d有边
那么用vector数组d[i]来存就是:
d[a] = {b,c,d};
这样边的关系就出来了
另外vector数组需要注意的几个地方:
- 必须使用
1 | using namespace std //标准数据库 |
- 存入指令
1 | push_back() |
- 求长度
1 | size() |
- 清除
1 | erase() |
- 申请一个vector数组
1 | vector </*一般整型或结构体*/> /*名字*/ |
代码实现:
1 |
|