数据结构:
STL:map
int num, iterator, distance,flag;//若开始与结尾相同则flag=1
int len[155][155]; //最后保存在这里
char begin[30], end[30];
char a[30], b[30];
map<string, int> station; //字符串与数字的对应代码模板
station.clear();
memset(len, MAX, sizeof(len));
flag = 0;
scanf("%s%s", begin, end);
if(strcmp(begin, end) == 0) flag = 1;
station[begin] = 1;
station[end] = 2;
iterator = 3;
for(int i = 0; i < num; ++i)
{
scanf("%s%s%d", a, b, &distance);
if(!station[a])
station[a] = iterator++;
if(!station[b])
station[b] = iterator++;
len[station[a]][station[b]] = len[station[b]][station[a]] = distance;
}
本文介绍了一种利用C++ STL中的map容器来存储站点信息,并通过输入站点间的距离来构建路径查找的方法。该方法首先清空了map并初始化长度矩阵,接着读取起点和终点,如果起点和终点相同,则直接标记为可达;随后读取多个站点间的距离信息,如果站点尚未被分配编号,则给予其新的编号,并将站点间的距离存储在长度矩阵中。
606

被折叠的 条评论
为什么被折叠?



