1 const int N=maxn; 2 // maxn表示图中最大顶点数 3 const int E=maxe ; // maxe图中最大边数 4 struct Edge{ 5 int u,v; //边所邻接的两个顶点 6 int w; //边的权值 7 int next; //边指针,指向下一条边的内存地址 8 }edge[E]; // 静态内存,用于分配边 9 int head[N]; // 表头 10 int num; // 内存的指针 11 void init() 12 { 13 for(int i=0;i<E;i++) head[i]=-1; //这里为什么要设为-1 14 num= 0; 15 } 16 void addedge(int b,int e,int w) 17 { 18 edge[num].u=b; 19 edge[num].v=e; 20 edge[num].w=w; 21 edge[num].next=head[b]; 22 head[b]=num++; 23 } 24