图的邻接表存储方式

用链表应该是比较麻烦的,可以用结构+数组实现

struct Edge
{
    int from,to,val,next;
}edge[maxn];
int edgenum;
void addedge(int u,int v,int w)
{
    edge[edgenum].from = u;
    edge[edgenum].to = v;
    edge[edgenum].val = w;
    edge[edgenum].next = head[u];//head[u]现在存储着u节点链接的最后一个节点
    head[u] = edgenum++;//现在u节点最后一个边就是edgenum了,所以head[u]记录一下它
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章