文件操作比直接输入方便很多

直接输入:

//建立图的邻接矩阵储存结构
#include <stdio.h>
#include <string.h>
#define M 20
#define FINITY 5000
typedef struct
{char vexs[M];int edge[M][M];int n,e;
}Mgraph;//c=0,表示建立无向图
void creat(Mgraph *g,int c)
{int i,j,k,w;printf("请输入顶点数和边数:"); scanf("%d%d",&g->n,&g->e);getchar(); printf("请依次输入各个顶点的信息:");for(i=0;i<g->n;i++)scanf("%c",&g->vexs[i]);getchar();for(i=0;i<g->n;i++){for(j=0;j<g->n;j++){if(i==j)   g->edge[i][j]=0;else g->edge[i][j]=FINITY; }}printf("请输入两个顶点的编号以及权值:\n");for(k=0;k<g->e;k++){scanf("%d%d%d",&i,&j,&w);g->edge[i][j]=w;if(c==0)    g->edge[j][i]=w; }
}void print(Mgraph *g)
{int i,j;printf("一共有%d个边,%d个点。\n",g->e,g->n);printf("各个元素信息:\n");for(i=0;i<g->n;i++){printf("%c ",g->vexs[i]);} printf("\n");printf("对应的邻接矩阵:\n");for(i=0;i<g->n;i++){for(j=0;j<g->n;j++){printf("%-5d",g->edge[i][j]);}printf("\n");}
}int main ()
{Mgraph g;printf("输入:\n"); creat(&g,0);printf("\n");printf("输出:\n"); print(&g);return 0;
}

文件读取:

//建立图的邻接矩阵储存结构
#include <stdio.h>
#include <string.h>
#define M 20
#define FINITY 5000
typedef struct
{char vexs[M];int edge[M][M];int n,e;
}Mgraph;//c=0,表示建立无向图
void creat(Mgraph *g,int c)
{int i,j,k,w;FILE *f;f=fopen("test.txt","r");if(f){fscanf(f,"%d%d",&g->n,&g->e);for(i=0;i<g->n;i++)fscanf(f,"%s",&g->vexs[i]);for(i=0;i<g->n;i++){for(j=0;j<g->n;j++){if(i==j)   g->edge[i][j]=0;else g->edge[i][j]=FINITY; }}for(k=0;k<g->e;k++){fscanf(f,"%d%d%d",&i,&j,&w);g->edge[i][j]=w;if(c==0)  g->edge[j][i]=w; }fclose(f);}else{g->n=0;}
}void print(Mgraph *g)
{int i,j;printf("一共有%d个边,%d个点。\n",g->e,g->n);printf("各个元素信息:\n");for(i=0;i<g->n;i++){printf("%c ",g->vexs[i]);} printf("\n");printf("对应的邻接矩阵:\n");for(i=0;i<g->n;i++){for(j=0;j<g->n;j++){printf("%-5d",g->edge[i][j]);}printf("\n");}
}int main ()
{Mgraph g;creat(&g,0);printf("输出:\n"); print(&g);return 0;
}

用 法:int fscanf(FILE *stream, char *format,[argument...]);

int fscanf(文件指针,格式字符串,输入列表);

【数据结构】邻接矩阵及其实现相关推荐

  1. 数据结构---邻接矩阵的BFS

    数据结构-邻接矩阵的BFS 原理:参考趣学数据结构 代码: 队列代码: #pragma once #define elemType int #define N 100 #include<stdl ...

  2. 数据结构---邻接矩阵的DFS

    数据结构-邻接矩阵的DFS 原理:参考趣学数据结构 代码: #include<stdio.h> #include<stdlib.h> #define N 100 #define ...

  3. Java数据结构——邻接矩阵+邻接表

    文章目录 一.邻接矩阵 二.邻接表 一.邻接矩阵 1. 定义 vexs[](存储顶点)和 arcs[][](存储边关系,叫邻接矩阵)集合.因此,用一个一维数组存放图中所有顶点数据: 用一个二维数组存放 ...

  4. 数据结构——邻接矩阵表示图(c语言)

    邻接矩阵(Adjacency Matrix)是表示顶点之间相邻关系的矩阵.设G=(V,E)是一个图,其中V={v1,v2,-,vn} [1] .G的邻接矩阵是一个具有下列性质的n阶方阵: ①对无向图而 ...

  5. 数据结构—邻接矩阵存储法代码实现

    邻接矩阵法 图的邻接矩阵(adjacency matrix)是一种采用邻接矩阵数组表示顶点之间相邻关系的存储结构.设G=(V,E)是含有n(n>0)个顶点的图,各顶点的编号为0~(n-1),则G ...

  6. [数据结构]邻接矩阵和邻接表存储的图DFS,BFS算法时间复杂度分析

  7. 数据结构——图的定义和实现

    这里写目录标题 图的定义 各种图的定义 无向边 有向边 图的顶点与边的关系 连通图生成树 图的各种实现 在引入邻接矩阵之前先介绍一下图的相关概念(概念比前树啥的面稍微复杂一点) 图的定义 之前学了线性 ...

  8. 广州大学数据结构课程设计

    程序设计题目 交通查询系统设计(难度系数 1.5) [问题描述] 今天铁路交通网络非常发达,人们在出差.旅游时,不仅关注交通费用,还关注里程和时间.请按照下图设计一个交通查询系统,能够满足旅客查询从任 ...

  9. 南京邮电大学数据结构实验三(图的基本运算及飞机换乘次数最少问题)

    文章目录 实验一.图的基本运算 1.邻接矩阵表示 (1)验证基本运算 (2)图的深度和宽度优先遍历(邻接矩阵) 2.邻接表表示 (1)验证基本运算 (2)图的深度和宽度优先遍历(邻接表) 实验二.飞机 ...

  10. Input dataset is not organized (height = 1) Input dataset is not organized (height = 1)......

    转自:https://www.cnblogs.com/william-chan/p/6404717.html 转自:https://blog.csdn.net/baoxiao7872/article/ ...

最新文章

  1. Coursera课程Python for everyone:Quiz: Object Oriented Programming
  2. ABAP小写金额转大写
  3. 【数据迁移】使用传输表空间迁移数据
  4. 表单一次性上传多个文件
  5. 带你剖析鸿蒙轻内核任务栈的源代码
  6. iphone已停用怎么解锁_iPhone多次输错密码已停用,连接iTunes,怎么办?
  7. Bailian3179 最长单词【字符串】
  8. iOS开发UI篇—控制器的创建
  9. C# 基于MySQL的数据层基类(MySQLHelper)
  10. 如何通过nrpe设置Windows 内存检测
  11. matplotlib易混概念理解与画图详解
  12. 安装运行okvis odometry
  13. 自适应求积算法 MatLab版
  14. Hibernate HHH000179警告和narrow proxy
  15. Mac Quicktime 录屏带声音
  16. 《此生未完成》:她说,名利权情,没有一样是不辛苦的
  17. 2048版俄罗斯方块java_Java版俄罗斯方块
  18. js正则之前瞻后顾与非捕获分组
  19. python如何学 Python主要能做什么
  20. mysql 备份 ftp_如何将数据库备份文件备份到FTP上?

热门文章

  1. koa连接mysql_CentOS 环境 Node + Koa2 连接 MySQL (ECS系列三)
  2. 安装gym库_强化学习Gym库学习实践(一)
  3. mac下的intellij idea常用快捷键
  4. IIS8 添加配置 WCF服务
  5. BZOJ2631tree——LCT
  6. Python 判断类型
  7. Web充斥着存在漏洞的过期JavaScript库
  8. (转)详解css3弹性盒模型(Flexbox)
  9. eclipes 安装 pytdev,svn,插件
  10. js中cookie的使用详细分析