C/C++
1)设计济南大学的校园导游图,所含景点不少于10个。以图中顶点表示学校各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。
(2)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。
(3)校园导游图可以根据需要随时增加景点和道路
(4)可以求出任意两个景点之间的所有路径
(5)多个景点的最佳访问路线查询,即经过这多个景点的最短路径。
(6)为来访客人提供图中任意景点相关信息的查询。
部分代码
#include<iostream>
#include<string>
#include<fstream>
#define MAXN 100
#define MAXINT 100000
using namespace std;
//景点结点的定义
class Spot
{
public:
string m_name;
string m_intro;
};
//图的定义
typedef struct{
Spot vexs[MAXN];
int arcs[MAXN][MAXN]; //邻接矩阵
int vexnum,arcnum; //顶点个数,边的个数
}MGraph;
//在图中建立联系的函数
void createArcs(MGraph &graph, string loc1, string loc2, int dist, int num= MAXN)
{
int tmp1,tmp2;
//定位
for(int i = 0; i < num; i++)
{
if(graph.vexs[i].m_name == loc1)
{
tmp1 = i;
break;
}
}
for(int i = 0; i < num; i++)
{
if(graph.vexs[i].m_name == loc2)
{
tmp2 = i;
break;
}
}
graph.arcs[tmp1][tmp2] = graph.arcs[tmp2][tmp1] = dist;
}
【一起来学习哟】微信公众号获取