【数据结构】邻接矩阵及其实现
文件操作比直接输入方便很多
直接输入:
//建立图的邻接矩阵储存结构
#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(文件指针,格式字符串,输入列表);
相关文章:

对职业生涯的思考
从刚毕业到目前所在公司,差不多6年了,想想这六年里面,自己的能力和刚毕业比有了很大的提升,但是现在在什么能力上,我不知道,毕竟没有去过别的公司。最近也在思考自己未来,算是比较迷茫阶段。趁最…

jquery源码分析(七)——事件模块 event(二)
上一章节探讨了事件的一些概念,接下来看下jQuery的事件模块。 jQuery对事件的绑定分别有几个API:.bind()/.live()/.delegate()/.on()/click(), 不管是用什么方式绑定,归根到底还是用addEventListener/attachEvent(IE&a…

google gn构建系统的介绍
GN语言和操作 GN语言和操作 内容介绍 使用内置的帮助设计理念语言 字符串清单条件语句循环函数调用作用域和执行Scoping and execution命名事物 文件和目录名称构建配置目标CONFIGS 公共配置模板其他特性 Imports路径处理模式执行脚本与Blaze的区别和相似之处 介绍 本页面描述…
【数据结构】邻接表的储存结构 建立图的邻接表算法
【数据结构】邻接矩阵及其实现 一个图的邻接矩阵的表示是唯一的,但其邻接表表示不唯一,这是因为在邻接表结构中,各便表结点的链接次序取决于建立邻接表时的算法以及输入的次序。 一般而言邻接矩阵适合存储稠密图,邻接表适合存储…

报错:该字符串未被识别为有效的DateTime
报错:该字符串未被识别为有效的DateTime □ 背景 前端的搜索条件中包含关于时间的字符串,由jquery ui的datepicker产生时间字符串。 服务端对时间做了一次转换:DateTime.Parse(Request["时间字段"].ToString())。 搜索的时候没有选…

Nagios监控笔记上
Nagios软件介绍及服务端安装部署实战1. Nagios服务端安装1.1 准备3台服务器或者虚拟机器管理IP地址角色备注192.168.1.80Nagios监控服务器192.168.1.81Lamp服务器被监控的客户端服务器192.168.1.82Lamp服务器被监控的客户端服务器1.2 解决perl编译问题:后面编译的软…
liunx查看python的site-packages路径
有时候我们在liunx上想修改查看python的包路径可以试试以下命令 from distutils.sysconfig import get_python_lib print(get_python_lib()) 如图:

【ACM】杭电OJ 2010
注意格式!!!注意格式!!! 空格的设置 \n的设置 #include <stdio.h> int main () {int i,m,n,g,s,b,flag;while(scanf("%d%d",&m,&n)!EOF){flag0;for(im;i<n;i){gi%10;bi/100…

中科院 工程硕士专业课 复试考试前的辅导安排
同学们大家好:学校定于12月6日、7日组织专业课辅导,1月初进行专业课复试及资格审查。辅导具体日程安排如下:12月6日下午13:00 数据结构(报考软件工程、计算机技术领域考生) 人文楼教一阶12月7日上午9:00 信号与系统…
TCP性能和发送接收Buffer的关系
本文希望解析清楚,当我们在代码中写下 socket.setSendBufferSize 和 sysctl 看到的rmem/wmem系统参数以及最终我们在TCP常常谈到的接收发送窗口的关系,以及他们怎样影响TCP传输的性能。 先明确一下:文章标题中所说的Buffer指的是sysctl中的 …

PHP 异常类 Exception 高洛峰 细说PHP
/** 1.自定义的异常类,必须是系统类Exception的子类* 如果继承Exception类,重写了构造方法,一定要调用一下父类的构造方法。*/class MyException extends Exception{//必须继承Exception类function __construct($mess){parent::__construct($mess);}func…
【ACM】杭电OJ 2023
注意最后又两个\n #include <iostream> #include <cstdio> #include <cstring> using namespace std; const int maxn 1000; int a[maxn][maxn]; double grade[maxn]; double average[maxn]; int main () {int m,n,i,j,flag,count;//n个学生,m门…

Hadoop学习笔记—7.计数器与自定义计数器
一、Hadoop中的计数器 计数器:计数器是用来记录job的执行进度和状态的。它的作用可以理解为日志。我们通常可以在程序的某个位置插入计数器,用来记录数据或者进度的变化情况,它比日志更便利进行分析。 例如,我们有一个文件&#x…
win10安装spacemacs
1、下载emacs最新版 26.1 2、解压emacs到你的安装目录,我的系统是D:/Program File/。执行/bin目录下的addpm.exe 这一步会在开始菜单创建快捷方式 3、在系统环境变量中添加新项HOME(具体环境变量设置方式请自行google),该变量的路径决定了emacs启动时.emacs.d目录…

【ACM】杭电OJ 2024
注意: 1、getchar() 2、scanf和gets的区别 3、判断条件 C语言的合法标识符 1、由字母,数字,下划线组成 2、且首字符不能是数字 #include <iostream> #include <cstdio> #include <cstring> using namespace std; in…

王振的开发板_Android
任务一: 任务内容:主界面框架的搭建 发布时间:2016-8-26 已完成 任务二: 任务内容:我的 主界面的开发 发布时间:2016-8-27 已完成 任务三: 任务内容:发布界面 动画开发 发布时间&a…

JAX-RS(基于Jersey) + Spring 4.x + MyBatis构建REST服务架构
0. 大背景 众所周知,REST架构已经成为现代服务端的趋势。 很多公司,已经采用REST作为App, H5以及其它客户端的服务端架构。 1. 什么是JAX-RS? JAX-RS是JAVA EE6 引入的一个新技术。 JAX-RS即Java API for RESTful Web Services,是一个Java 编…

c语言宏嵌套和展开规则
基本原则: 在展开当前宏函数时,如果形参有#或##则不进行宏参数的展开,否则先展开宏参数,再展开当前宏。 #是在定义两边加上双引号 #define _TOSTR(s) #sprintf(_TOSTR(test ABC)) printf(_TOSTR("test ABC")); print…

【ACM】杭电OJ 2027
注意输出格式!!!! #include <iostream> #include <cstdio> #include <cstring> using namespace std; const int maxn 10000; char s1[maxn]; int main () {int n,j,i,a,e,o,u;scanf("%d",&n)…

搜索引擎广告过滤Chrome插件
搜索广告屏蔽Chrome插件:自动过滤:百度,360,搜狗,google,bing的搜索广告,让魏则西的悲剧不再重演。珍爱生命,远离搜索广告!下载:FuckAd.zip 安装:方法自行百度…

Scala程序设计:Java虚拟机多核编程实战(国内第一本Scala图书)
Scala程序设计:Java虚拟机多核编程实战(国内第一本Scala图书) 基本信息 作者: (美)Venkat Subramaniam 译者: 郑晔 李剑 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9787115232953 上架时间&am…

emacs快捷键
https://blog.wozouwokan.com/%E6%96%87%E6%9C%AC%E7%BC%96%E8%BE%91/2015/07/14/spacemacs/ 超全开发快捷键:https://edward852.github.io/post/%E9%80%9A%E7%94%A8%E4%BB%A3%E7%A0%81%E7%BC%96%E8%BE%91%E5%99%A8spacemacs/ spc f T快速定位当前文件在neotree中的…

python 小程序,输错三次密码锁定账户
1 [rootsun ~]# cat 7.py 2 #!/usr/bin/python3 # -*- codingUTF-8 -*-4 5 usera_name usera6 usera_passwd aresu7 usera_status on8 userb_name userb9 userb_passwd bresu 10 userb_status on 11 ng 0 12 13 14 name raw_input(请输入用户名:) 15 …
【数据结构】图的深度优先遍历 广度优先遍历
文件操作比直接输入方便许多 #include <stdio.h> #include <stdlib.h> #include <string.h> #define M 20/*邻接表的储存结构*/ typedef struct node /*表结点 或者 边表结点*/ {int adjvex;struct node *next; }edgenode;typedef struct vnode /*头结点*/ …

C++ Primer(第4版)(评注版)
《C Primer(第4版)(评注版)》基本信息原书名: C Primer (4th Edition) 原出版社: Addison-Wesley Professional; 4 edition 作者: (美)Stanley B.Lippman Josee Lajoie Barbara E.Moo 译者: 陈硕 丛书名: 传世经典书丛…

win10安装emacs+spacemacs,建议用官方安装方式
1、下载emacs最新版 26.1 官网下载地址:https://www.gnu.org/software/emacs/download.html#nonfree 2、解压emacs到你的安装目录,我的系统是D:/Program File/。执行/bin目录下的addpm.exe 这一步会在开始菜单创建快捷方式 3、在系统环境变量中添加新项HOME(具体环…
【ACM】杭电OJ 2028
int 会 WA ,注意使用 long long 先除后乘,避免超出范围,但好像本题先乘后除也AC #include <iostream> #include <cstdio> #include <cstring>long long lcm(long long a,long long b) {long long c,t,ma,nb;if(a<b) {…

IIS8 添加配置 WCF服务
今天在Windows8.1 操作系统部署了半天的WCF 一直老是在报错、在这里做个记录 防止下次忘记 在网上查了半天。终于知道原来IIS8不支持WCF服务SVC的请求。所以必须要给IIS8添加WCF服务 的Managed Handler。 添加步骤: 1打开IIS&a…

spacemacs各种问题修复方法
快捷键操作时报 tr不是内部命令 ------说明是缺少tr命令,win10可以安装coreutils for gnuwin32工具集,然后把bin目录加到系统path路径即可 没有ispell, flycheck error ------缺少ispell命令,windows下面用aspell替换,需要安装…
2016/08/27 What I Learned About Going Fast at eBay and Google
每天推荐一个英文视频 http://v.qq.com/page/i/2/d/i0...https://www.youtube.com/watch... 本日看点