关于链式前向星加边,
以下两种写法有何不同,此前一直用的是写法一
写法一
void add_edge(int u,int v)
{
edge[cnt].to=v;
edge[cnt].next=head[u];
head[u]=cnt++;
}
写法二
void add_edge(int u,int v)
{
edge[++cnt].to=v;
edge[cnt].next=head[u];
head[u]=cnt;
}
如以下这组数据:
1 2
2 1
2 3
写法一却发生了错误,遍历时显示第一条没有加边
求解答