算法竞赛模板 链式前向星(代替邻接表的一种操作)

(1) head[i]一般先初始化为-1;

(2) head[i]保存的是:以i为起点的所有边中,最后读入的那条边的编号。我们把这条边当作顶点i的第一条起始边

int head[MAX]; //存储以i号点为起点 的 第一条边编号
struct edge
{
    int w;     //这条边的权值 
    int to;    //这条边的终点,某号点 
    int next;  //与这条边同起点 的 下一条边编号
}e[MAX*MAX];   //存储位置在这儿! 
void add(int u,int v,int w)
{
    edge[++cn].w=w;
    edge[cn].next=head[u];
    edge[cn].to=v;
    head[u]=cn; 
} 
原文地址:https://www.cnblogs.com/kannyi/p/9392888.html