数组模拟邻接表

醉酒当歌 提交于 2020-02-25 05:24:54
 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 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!