1 / 6
文档名称:

交通运输系统.doc

格式:doc   大小:94KB   页数:6页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

交通运输系统.doc

上传人:回忆笑一笑 2021/3/25 文件大小:94 KB

下载得到文件列表

交通运输系统.doc

文档介绍

文档介绍:数据结构实验报告
交通指南系统
题目:
假设以一个带权有向图表示某一区域的公交线路网,图中顶点代表一些区域中的重要站点,弧长代表已有的公交线路,弧上的权表示该线路上的票价(或搭乘所需时间),试设计一个交通指南系统,指导前来咨询者以最低的票价或最少的时间从区域中的某一站点到达另一站点。
#include <iostream>
using namespace std;
struct ArcCell
{
int adj; //存放弧长
bool *info; //是否用过该弧
};
struct _MGraph
{
char vexs[20]; //存放站点
ArcCell arcs[20][20]; //<i,j>
int vexnum;
int arcnum;

};
typedef int Path[20][20][20];
typedef int Distanc[20][20];
class MGraph //没用私有成员
{
public:
_MGraph mgraph;//
void DestroyGraph(); //析构函数销毁图
int LocateVex (char u); // 返回顶点在图中的位置
bool CreateDN(); //构造有向网
void ShortestPath_FLOYD(Path &P,Distanc &D);
};
bool MGraph::CreateDN()//构造有向网
{
int i,j ,w;
char v1, v2;
cout<<"请输入站点个数,直接线路的条数: ";
cin>>>> ;
cout<<"\n请输入各站点名: ";
for(i = 0;i<;i++)//构造顶点向量
{
cin>>[i];
}
for(i = 0;i<;i++) //初始化邻接矩阵
{
for(j = 0;j<;j++)
{
if(i==j)
[i][j].adj = 0;
else
[i][j].adj = 20000; //infinity;
[i][j].info = false;
}
}
for(i = 0;i<;i++) //构造邻接矩阵
{
cout<<"\n请输入一条线路的起点,终点,距离(公里): ";
cin>>v1>>v2>>w;
int m = LocateVex(v1);
int n = LocateVex(v2);
[m][