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

📄 c_ljjz.c

📁 《数据结构》教材源程序,可以让你轻松的根据教材学习数据结构
💻 C
字号:
/******************************************************/
/*              图的邻接矩阵创建算法                  */
/*      文件名c_ljjz.c  函数名creatmgraph1()          */
/*                  函数名creatmgraph2()              */
/******************************************************/

#include <stdio.h>
#include "mgraph.h"

void creatmgraph1(mgraph *g)
{int i,j,k,w;   /*建立有向网络的邻接矩阵存储结构*/
  printf("please input n and e:\n");
  scanf("%d%d",&g->n,&g->e);  /*输入图的顶点数与边数*/
  getchar();
  printf("please input vexs:\n");
  for(i=0;i<g->n;i++)    /*输入图中的顶点值*/
     g->vexs[i]=getchar();

  for(i=0;i<g->n;i++)    /*初始化邻接矩阵*/
      for(j=0;j<g->n;j++)
       if (i==j) g->edges[i][j]=0;
	   else g->edges[i][j]=FINITY;
  printf("please input  edges:\n");
  for (k=0;k<g->e;k++)  /*输入网络中的边*/
    {scanf("%d%d%d", &i,&j,&w);
     g->edges[i][j]=w;
     /*若是建立无向网,只需在此加入语句g->edges[j][i]=w;即可*/
    }
}

void creatmgraph2(mgraph *g)
{int i,j,k,w;   /*建立无向网络的邻接矩阵存储结构*/
  printf("please input n and e:\n");
  scanf("%d%d",&g->n,&g->e);  /*输入图的顶点数与边数*/
  getchar();
  printf("please input vexs:\n");
  for(i=0;i<g->n;i++)    /*输入图中的顶点值*/
     g->vexs[i]=getchar();

  for(i=0;i<g->n;i++)    /*初始化邻接矩阵*/
      for(j=0;j<g->n;j++)
       if (i==j) g->edges[i][j]=0;
	   else g->edges[i][j]=FINITY;
  printf("please input  edges:\n");
  for (k=0;k<g->e;k++)  /*输入网络中的边*/
    {scanf("%d%d%d", &i,&j,&w);
     g->edges[i][j]=w;
     g->edges[j][i]=w;
    }
}

void  print(mgraph g)
{/*辅助函数,输出邻接矩阵表示的图g*/
  int i,j;
  for (i=0;i<g.n;i++)
    printf("%c ",g.vexs[i]);
    printf("\n");
  for (i=0;i<g.n;i++)
    {    for (j=0;j<g.n;j++)
	     printf("%6d",g.edges[i][j]);
          printf("\n");
    }
}
/*  主程序  */
/*  
main() 
{mgraph g1,g2;
 creatmgraph1(&g1);
 creatmgraph2(&g2);     
 printf("\n有向图g1的邻接矩阵是:\n");
 print(g1); 
 printf("\n无向图g2的邻接矩阵是:\n");        
 print(g2);   
}
*/

⌨️ 快捷键说明

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