邻接表

邻接表

#include <iostream>
#include <cstdio>
#define N 1001

int head[N], total, n, m;

struct edge {
    int next, v, w;
}e[N];

void add(int u, int v) {
    total++;
    e[total].v = v;
    e[total].next = head[u];
    head[u] = total;
    return;
}

void test() {
    for (int i = 1; i <= n; i++)
    {
        printf("%d  >>>  ", i);
        for (int j = head[i]; j != 0; j = e[j].next)
            printf("%3d", e[j].v);
        printf("\n");
    }
    return;
}

int main() {
    scanf("%d%d", &n, &m);
    for (int i = 1; i <= m; i++) {
        int a, b;
        scanf("%d%d", &a, &b);
        add(a, b);
    }
    test();
    return 0;
}

 

posted on 2019-09-04 19:53  鳗鱼牛油果天妇罗  阅读(80)  评论(0)    收藏  举报

导航