欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

建图方法(邻接矩阵 链式前向星)更新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);	//双向图 再反着加一条
    }
}

 

相关标签: 板子