• 无向带权图的邻接矩阵表示--p135


    源程序:

    /*无向带权图的邻接矩阵表示法*/
    #include <stdio.h>
    #define vnum 20
    const int MAX_INT=0;
    typedef struct gp
    {
      char vexs[vnum]; /*顶点信息*/
      int arcs[vnum][vnum]; /*邻接矩阵*/
      int vexnum,arcnum; /*顶点数、边数*/
    }WGraph;

    void CreateGraph(WGraph *g)
    {
      int i,j,n,e,w,k;
      char ch;
      printf("输入顶点个数: ");
      scanf("%d",&n);
      printf("输入边数: ");
      scanf("%d",&e);

      g->vexnum=n;
      g->arcnum=e;

      for(i=0;i<g->vexnum;i++)
      {

        getchar();
        printf("第%d个顶点: ",i+1);
        scanf("%c",&(g->vexs[i]));
      }

      for(i=0;i<g->vexnum;i++)
      {
        for(j=0;j<g->vexnum;j++)
        {
          g->arcs[i][j]=MAX_INT;
        }
      }
      printf("请输入起点 终点 权值,用空格隔开,参照教材p135. ");
      for(k=0;k<g->arcnum;k++)
      {
        scanf("%d %d %d",&i,&j,&w);
        g->arcs[i][j]=w;
        g->arcs[j][i]=w;
      }
    }

    void OutGraph(WGraph *g) /*输出矩阵*/

    {
      int i,j;
      for(i=0;i<g->vexnum;i++)
      {
        for(j=0;j<g->vexnum;j++)
          printf("%d ",g->arcs[i][j]);
        printf(" ");
      }
    }
    void main()
    {
      WGraph g;

      CreateGraph(&g);

      printf("输出矩阵 ");
      OutGraph(&g);
    }

    运行结果:

  • 相关阅读:
    代码规范
    svn的牛逼操作反向merge
    QT 半透明遮罩(弹窗)
    ACE库 ACE_Handle_Set类解析
    linux系统如何启用ftp服务
    vim color
    Linux动态库应用
    自建工程makefile文件
    Makefile工程文件
    linux杂记
  • 原文地址:https://www.cnblogs.com/duanqibo/p/11981326.html
Copyright © 2020-2023  润新知