const int N=?,M=??;//N是点数,M是边数
int h[N],e[M],ne[M],idx;
void add(int a,int b,int W)
{
e[idx]=b;
w[idx]=W;
ne[idx]=h[a];
h[a]=idx++;
}
for(int i=h[u];~i;i=ne[i])
{
int j=e[i];//下一条边是
int W=w[i];//a->的边权是
}
const int N=?,M=??;//N是点数,M是边数
int idx=0,h[N];
struct edge
{
int to,next,w;
}edge[N];
void add(int u,int v,int W)
{
edge[idx].to=v;
edge[idx].w=W;
edge[idx].next=head[u]
head[u]=idx++;
}
for(int i=h[u];~i;i=edge[i].next)
{
int j=edge[i].to;//下一条边
int W=edge[i].w;//边权
}
``
原文:https://www.cnblogs.com/forward-985/p/13693007.html