1.邻接矩阵
- 二维数组,如果有重边就按题意考虑是否可以合并成一条边,或者只取一条边
2.邻接表
- 链表结构,头插法
3.vector
- 开一个vector数组来简化邻接表,但有时不够块
4.链式前向星
- 开一个结构体存边信息,开一个数组存每一条边,开一个head记录连接着这个点的下一个点是谁,head初值赋值成-1
typedef struct{
int t,val,nxt;
}E;
E edge[N];
int head[N];
int cnt;
void insert(int x,int y,int l){
edge[++cnt].t=y;
edge[cnt].val=l;
edge[cnt].nxt=head[x];
head[x]=cnt;
}