vector<int> graph[MAXN]; // MAXN个顶点,graph[i]表示顶点i的全部邻接点
// 邻接点类型
struct Node {
int val; // 邻接点下标
Node *next; // 下一个邻接点
Node() : val(0), next(nullptr) {}
Node(int v) : val(v), next(nullptr) {}
Node(int v, Node *next) : val(v), next(next) {}
};
// 顶点类型
struct VexNode {
VexType data; // 顶点的数据类型,比如字符串,数字等
Node *first; // 指向第一个邻接点
};
// 邻接表类型
typedef struct {
VexNode nodes[MAXN];
int v; // 节点数
int e; // 边数
}ALGraph;