- 7
- 0
- 约1.22万字
- 约 26页
- 2017-11-30 发布于江西
- 举报
最短路径算法源程序代码
#include stdio.h
#include conio.h
#include string.h
#define JiedianNum 6 //最大结点数
#define NameLenght 3 //节点名字长度
#define Infinity 10000 //若节点间没有路径距离设定为Infinity
char *JiedianNameFile=jiedianname.txt; //图的顶点--节点名
char *JiedianPathFile=jiedianpath.txt; //边--节点间的连接关系
char *MinPathDataFile=minpath.txt; //最短路径数据
/********************************************************/
/* 从文件中读入结点数据 */
/* 函数参数: */
/* char jiedian[][]:存放节点名的数组 */
/* int *NodNum:指针变量,指向存放节点个数的变量 */
/* 输入数据:文本数据文件:JiedianNameFile */
/* 文件数据格式: */
/* 节点个数 */
/* 节点名 */
/* 输出数据:指从该函数中带回到调用函数的数据,包括: */
/* jiedian[][]--节点名称 */
/* NodeNum--节点名的个数 */
/* 返回值:数据读入是否成功的标志 */
/* 0--失败 1--成功 */
/********************************************************/
int InputJiedianNode(char jiedian[][NameLenght],int *NodeNum )
{ int i,n;
FILE *fp;
if(!(fp=fopen(JiedianNameFile,r)))
{ printf(节点数据文件不存在\n);
getch();
return(0);
}
fscanf(fp,%d,n);
if(!n)
{ printf(文件中无节点数据!\n);
getch();
return(0);
}
for(i=0;in;i++) fscanf(fp,%s,jiedian[i]);
fclose(fp);
*NodeNum=n;
return(1);
}
/********************************************************/
/* 从文件中读入最短路径数据 */
/* 函数参数: */
/* int dist[][]:节点间最短路径的值 */
/* int Path[][]:节点间最短路径结点数据 */
/* int *NodNum:指针变量,表示读入数据的多少 */
/* 输入数据:数据文件:MinPathDataFile */
/* 文件数据格式:二进制数据,数据存放顺序: */
/* 节点个数nn*n个最短路径值n*n个结点值 */
/* 输出数据:指从该函数中带回到调用函数的数据,包括: */
/* jiedian[][]
原创力文档

文档评论(0)