用数组实现临接表

//2015/6/2
const int MAX_N=1e5+10;
int prev[MAX_N];
struct Edge{
    int to, prev;
};
Edge E[MAX_N<<1];
void add_edge(int &id){
    scanf("%d%d", &u, &v);
    E[id].to=v;
    E[id].prev=prev[u];
    prev[u]=id++;
    E[id].to=u;
    E[id].prev=prev[v];
    prev[v]=id++;
}
void get_graph(int N){
    memset(prev, -1, sizeof(prev));
    int id=0;
    while(N--) add_edge(id);
}
原文地址:https://www.cnblogs.com/Patt/p/4547816.html