使用vector实现邻接表
点击查看代码
#include<cstdio>
#include<vector>
using namespace std;
#pragma warning(disable:4996)
const int maxn = 110; //最多有100个顶点
struct Node {
int v; //边的终点编号
int w; //边权
Node(int _v,int _w):v(_v),w(_w){} //使用构造函数初始化
};
vector<Node> Adj[maxn]; //邻接表
int main() {
//1、使用临时变量temp存储边的信息
Node temp; //存储一条边的信息
temp.v = 1; //该边终点是顶点1
temp.w = 2; //边权为2
Adj[0].push_back(temp); //将这条边存储顶点0中,即该边连接顶点0和顶点1
//2、使用结构体构造函数存储边的信息
int v, w; //边的终点编号,边权
Adj[0].push_back(Node(1, 2)); //顶点0与顶点1相连边的边权是2
return 0;
}