idx=0;
memset(h,-1,sizeof h);
void add(int a,int b){//头插法
e[idx]=b;//边,存储终点
ne[idx]=h[a];//next指针
h[a]=idx++;////头节点
}
假如a结点的邻接边为b,c,在e数组中存储b和c时的下标设为x,y
那么,h[a]最后等于y,e[x]=b,e[y]=c;
e{c} e{b}
h[a]->y———>x———>-1
ne[y]=x,ne[x]=-1;