概述
数据结构之用数组存储图
题目
从给定的ctiy.dat文件中读取顶点数据,从distance.dat文件中读取边上的权值,先以矩阵表示法来存储这个图,然后采用深度优先遍历的方式访问这个图。
题目大意
emmmm,简单来说就是建一个图,然后找到两个点的最短距离。
方法
这个题主要是老师给的文件要处理,不会文件处理我也没有办法,然后就是把数据储存起来了,遍历一遍就行。
#include<stdio.h>
#include<string.h>
char city[40][20];
int distance[40][40];
int max(int x,int y)
{
return (x>y?x:y);
}
int min(int x,int y)
{
return (x<y?x:y);
}
int main()
{
printf("重点!!!!!请把文件和程序放在同一目录下!!!n");
FILE*fp;
char *aa;
char filename[]="city.dat",da[10000]={},temp[20000];
int i,j,pre,z,cit=0;
//读取城市信息,将他那个5行合成一行处理
fp=fopen(filename,"r");
fseek(fp, 0L, SEEK_SET);
for(i = 0 ; i < 1002700 ; i++)
{
aa=fgets(temp,400,fp);
//把换行符删去
temp[strlen(temp)-1]='