做题时有时会碰到一些非人类的数据会卡c++STL函数库里的vector函数,因此不得不自己手写一个邻接表,写法和用法如下:
首先我们需要定义一个数组 head[]
int head[maxn];
//head[i]表示节点i所连的最后一条边的编号(这里的最后指输入数据中最后加进来的边)
其次需要定义一个结构体来存贮边的信息
struct node{
int v,w,next;
}edge[maxn*2];//此处的edge表示的是某一条边的信息
//edge[i].v表示编号为i的边是一条指向节点v的边
//edge[i].w表示编号为i的边所带有的权值
//edge[i].next
edge[i].next文字描述相当麻烦,用图表示如下
我们