用前向星链表存储图

 struct EDGE {
                    int u, v, w, next;
        EDGE() {}
        EDGE(int _u, int _v, int _w, int _next) {
            u = _u, v = _v, w = _w, next = _next;
        }
    }edge[MAXM];
       初始化所有的head[i] = INF,当前边总数 edgeCount = 0
       每读入一条边,调用addEdge(u, v, w),具体函数的实现如下:
    void addEdge(int u, int v, int w) {
        edge[ edgeCount ] = EDGE(u, v, w, head[u]);
        head[u] = edgeCount ++;
    }
posted @ 2018-03-27 14:49  LandingGuys  阅读(91)  评论(0编辑  收藏  举报