zoukankan      html  css  js  c++  java
  • 无向图的邻接矩阵--p134

    源程序:

    #include <stdio.h>
    #include <stdlib.h>

    const int vnum=20;

    typedef struct gp
    {
      char vexs[vnum];
      int arcs[vnum][vnum];
      int vexnum,arcnum;
    }Graph;

    //输入顶点和边,创建图
    void create(Graph *g)
    {
      int i,j,k;
      printf("请输入顶点数和边数:");
      scanf("%d%d",&g->vexnum,&g->arcnum);
      printf("请输入 %d 个顶点的值:",g->vexnum);
      getchar();
      for(i=0;i<g->vexnum;i++)
      scanf("%c",&g->vexs[i]);
      for(i=0;i<g->vexnum;i++) //此双重循环表示所有结点都没有连接
        for(j=0;j<g->vexnum;j++)
          g->arcs[i][j]=0;

      printf("请输入 %d 条边:",g->arcnum);
      for(k=0;k<g->arcnum;k++)
      {
        scanf("%d%d",&i,&j);
        g->arcs[i][j]=1;
        g->arcs[j][i]=1;
      }
    }

    //输出邻接矩阵
    void showMatrix(Graph *g)
    {
      int i;
      printf(" "); //三个空格
      for(i=0;i<g->vexnum;i++)
        printf("%3c",g->vexs[i]);
      printf(" ");
      for(i=0;i<g->vexnum;i++)
      {
        printf("%3c",g->vexs[i]);
        for(int j=0;j<g->vexnum;j++)
          printf("%3d",g->arcs[i][j]);
        printf(" ");
      }
    }

    int main()
    {
      Graph g,*pg=&g;
      create(pg);
      showMatrix(pg);
      return 1;
    }

    运行结果:

  • 相关阅读:
    java反射笔记
    Java常见异常类型
    找了这么多毕业设计题目,反而不知道选什么了
    C#中Trim()、TrimStart()、TrimEnd()的用法
    JS bom对象
    HTML随笔
    Sublim text3汉化
    11G RAC ORA-32701
    DB_LINK
    ORA-16957: SQL Analyze time limit interrupt
  • 原文地址:https://www.cnblogs.com/duanqibo/p/11981087.html
Copyright © 2011-2022 走看看