⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gj.cpp

📁 有向图的邻接矩阵存储(数组表示)、简单输出
💻 CPP
字号:
# include <stdio.h>
# include <stdlib.h>
# define MAX 20
typedef int VexType;
typedef  VexType Mgraph[MAX][MAX]; /* Mgraph是二维数组类型标识符 */
/* 函数原形声明 */
void creat_mg(Mgraph G);
void out_mg(Mgraph G);
Mgraph G1;                         /*  G1是邻接矩阵的二维数组名  */
int n,e,v0;
/*  主函数 */
main()
 { creat_mg(G1);     out_mg(G1);
 }/* main */
/*  建立邻接矩阵  */
void creat_mg(Mgraph G)
{ int i,j,k;
  printf("\n  n,e=?"); scanf("%d%d", &n,&e);  /* 输入顶点数n,边数e */ 
  for(i=1; i<=n;i++)
       for(j=1;j<=n;j++) G[i][j]=0;       
                     
  for(k=1;k<=e;k++)                                /* 组织边数的循环  */
     { printf("\n  vi,vj=?"); 
       scanf("%d%d", &i,&j);          /* 输入一条边的两个顶点编号i,j */
       G[i][j]=1; G[j][i]=0;            /* 有向图的邻接矩阵是非对称矩阵 */          
       
     }
 } /* creat_mg */
/* 邻接矩阵简单输出,为了检查输入是否正确 */ 
void out_mg(Mgraph G)
 { int i,j;  //char ch;
   for(i=1; i<=n;i++)        /*  矩阵原样输出 */
     { printf("\n ");
       for(j=1;j<=n;j++) printf("%5d",G[i][j]);
     }
   /*  输出所存在的边 */
   for(i=1; i<=n;i++)
      for(j=1;j<=n;j++)
         if(G[i][j]==1)printf("\n 存在边< %d,%d >",i,j);
     printf("\n\n   打回车键,继续。"); //ch=getch();
 } /*  out_mg */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -