建图方法(邻接矩阵 链式前向星)更新ing
程序员文章站
2022-05-12 15:01:08
...
/* 建 图 int u, v, w;*/
memset(e,0x3f,sizeof(e)); For(i,1,N) e[i][i] = 0; while(M--)
{
scanf("%d%d%d",&u,&v,&w); if(e[u][v] > w) e[u][v] = e[v][u] = w;
}
前向星建图
开辟空间
int first[顶点数], tot, N;
struct Edge
{
int v, w, next;
} e[边数]; //双向边,记得开两倍
建图
void add(int u, int v, int w)
{
e[tot].v = v;
e[tot].w = w;
e[tot].next = first[u];
first[u] = tot++;
}
int main()
{
tot = 0;
memset(first,-1,sizeof(first));
while(M--) //M 条边
{
scanf("%d%d%d",&u,&v,&w);
add(u,v,w); //双向图 再反着加一条
}
}
上一篇: 51Nod_1062 序列中最大的数
下一篇: MVP模式在Android中的应用