C语言——无向带权图邻接矩阵的建立

#include 
#include "Graph.h"
#define MAX_INT 32767

/*
#define vnum 20
#define MAX_INT = 32767

// 邻接矩阵
typedef struct gp
{
    int vexs[vnum]; // 顶点信息
    int arcs[vnum][vnum]; // 邻接矩阵
    int vexnum, arcnum; // 顶点数,边数
}Graph;

*/

// 无向带权图邻接矩阵的建立
void CreateGraph(Graph *g)
{
    int i,j,n,e,w,k;
    int info;

    // 读入顶点数和边数
    scanf("%d %d", &n, &e);
    g->vexnum = n;
    g->arcnum = e;

    // 读入顶点信息
    for(i = 0;i < g->vexnum;i++)
    {
        scanf("%d", &info);
        g->vexs[i] = info;
    }

    // 初始化邻接矩阵
    for(i = 0;i < g->vexnum;i++)
    {
        for(j = 0;j < g->vexnum;j++)
        {
            g->arcs[i][j] = MAX_INT;
        }
    }

    // 读入边(顶点对)和权值
    for(k = 0;k < g->arcnum;k++)
    {
        scanf("%d %d %d", &i, &j, &w);
        g->arcs[i][j] = w;
        g->arcs[j][i] = w;
    }
}

// 伪算法,未必能运行

main()
{

}

 

转载于:https://www.cnblogs.com/lqcdsns/p/7427058.html

你可能感兴趣的:(C语言——无向带权图邻接矩阵的建立)