数组模拟邻接表(模版)

    #define maxn 50005
    int Next[2 * maxn], first[2 * maxn];
    struct use{
        int s, e;
    }tree[2 * maxn];

    for (int i = 1; i < n; i ++) {
        int s, e;
        scanf("%d %d", &s, &e);
        add(s, e);
        add(e, s);
    }
    void add(int x, int y) {
    tot ++;
    Next[tot] = first[x];//头是x的上一根线存到编号为tot的Next这
    first[x] = tot; //头是x的线的编号
    tree[tot].s = x;//first和Next存的都是编号,值在tree[tot] 里面
    tree[tot].e = y;
}

参考博客

猜你喜欢

转载自blog.csdn.net/henu_jizhideqingwa/article/details/81672901
今日推荐