圖的鄰接表存儲方式

用鏈表應該是比較麻煩的,可以用結構+數組實現

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]記錄一下它
}

 

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