- 42
- 0
- 约6.95千字
- 约 14页
- 2020-03-13 发布于江西
- 举报
交通咨询系统设计
实验目的和要求
掌握最短路径的算法; 编写实验报告;
实验内容
本设计要求一个交通咨询系统,能让旅客咨询从任一个城市顶点到另一个城市顶点之 间的最短路径、最低花费或最少时间等问题。对于不同的咨询要求,可输入城市间的路程、 所需时间或所需费用。
实验步骤
1、 问题分析
该设计分为三个部分:
建立交通网络图的存储结构
解决单源最短路径问题
实现两个城市顶点之间的最短路径问题
2、 问题求解
? 2.1 建立交通网络图的存储结构
图的邻接矩阵
#define MVNum 50
Typedef struct{
VertexType vexs[MVNum];//顶点信息
Adjmatrix arcs[MVNum][MVNum];//邻接矩阵边的信息
}MGraph
? 2.2 单源最短路径
Dijkstra 算法
按路径长度递增产生诸顶点的最短路径
? 2.3 任意两个顶点之间的最短路径
Floyd 算法
完整的程序清单
程序运行测试
#include stdafx.h
#include stdio.h
#include string.h
#define MVNum 50
#define Dij_MAXN 33
#define MAX_VERTEX_NUM 31
#define MAX_STRING_NUM 10
#define MAX_TRAFFIC_NUM 10
typedef struct TrafficNode
{
char name[MAX_STRING_NUM];
int Time;//
int EndCity //火车到达城市的编号
int Cost;//票价
} TrafficNodeDat;
typedef struct VNode
{
CityType city; //城市编号
int TrainNum; //标记下面 Train 数组里元素个数
TrafficNodeDat Train[MAX_TRAFFIC_NUM]; //数组成员为结构体,记录了到达城市、 起止时间、票价和班次
} VNodeDat;
typedef struct TrafficNode
{
char name[MAX_STRING_NUM]; //班次
int Time;
int EndCity; //火车到达城市的编号
int Cost; //票价
} TrafficNodeDat;
typedef struct VNode
{
CityType city; //城市编号
int FlightNum; //标记下面 Train 数组和 Flight 数组里元素个数
TrafficNodeDat Flight[MAX_TRAFFIC_NUM];
} VNodeDat;
int main()
switch(Command)
{
case 0:
return 0;
case 1:
Administrators();//管理员操作界面函数
break;
case 2:
User();//用户操作界面函数
break;
default:
cout\t 选择序号错误!请重新选择!\n;
int InitSystem()
void User()
void Administrators()
int DelCity(char *Name)
{
//删除城市
//删除城市
int city,i,j;
city=SeekCity(Name);
for(i=city;iCityNum-1;i++)
{
strcpy(CityName[i],CityName[i+1]);
AdjList[i].FlightNum=AdjList[i+1].FlightNum;AdjList[i].TrainNum=AdjList[i+1].
TrainNum;
for(j=0;jAdjList[i].FlightNum;j++)
{
AdjList[i].Flight[j].Cost=AdjList[i+1].Flight[j].Cost;
AdjList[i].Flight[j].EndCity=AdjList[i+1].Flight[j].EndCity;
strcpy(AdjList[i].Flight[j].name,AdjList[i+1].Flight[j].name);
AdjList[i].Flight[j].Time=AdjList[i+1].Flight[j].Time;
}
}
CityNum--;
return 1;
}
int DelPath(char *name) //删除路线
{
//删除路线
int i,j,flag=0;
for(i=0;iCityNum;i++)
{
for(j=0;jAdjList[i].FlightN
原创力文档

文档评论(0)