数据结构课程设计--全国交通咨询模拟 代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附录数据结构课程设计------全国交通咨询模拟程序源代码#include
#include
#include
#include
using namespace std;
#define INFINITY 100000//以该值表示两个城市之间无法到达
#define MAX_VERTEX_NUM 30//最多可定义30个城市
#define MAX 15//到某个城市最多的火车量
typedef struct ArcCell//定义两城市之间路的结构
{
float adj;//存放该路的长度
string info;//存放和该路有关的其他信息
}ArcCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];
typedef struct train{//定义火车的结构体
string start;//始发站
string end;//终点站
string number;//车次
string type;//车型
string statime;//发车时间
string arrivetime;//到站时间
string alltime;//全程时间
float price;//车票价钱
}train,Train[MAX];
typedef struct{//定义一个飞机的结构体
string start;//始发站
string end;//终点站
string number;//航班
string statime;//起飞时间
string arrivetime;//到达时间
string alltime;//全程时间
float price;//机票价钱
}plane,Plane[MAX];
typedef struct{//定义一个城市的结构体
string name;//城市名字
Train train1;//从该城市出发到其他城市的火车情况
Train train2;//从其它城市到该城市的火车情况
Plane plane1;//从该城市出发到其他城市的飞机情况
Plane plane2;//从其它城市到该城市的飞机情况
}city,City[MAX_VERTEX_NUM];
typedef struct{//定义交通图的结构
City citys;//存放交通图中图城市
AdjMatrix arcs;//一个邻接矩阵
int vexnum;//城市的个数
int arcnum;//城市之间路的条数
}MGraph,*MGRAPH;
typedef struct{//定义一个队列的结构体
string vex[MAX_VERTEX_NUM];//存放在某个路径中经过的所有城市的信息
int front;//队头的下标
int rear;//队尾的下标
}queue,*Queue;
/*=========定位函数=====================*/
int LocateVex(MGraph &G,string v)
{
int i=0;
string s;
for(i=0;i { s=G.citys[i].name; if(s==v) { return i; break; } } return -1; }//查找图中某个城市的下标是多少,不成功返回-1 MGraph CreateUDN()//创建全国地区图的结构 { MGraph G; int i=0,j=0,k=0,l=0,h=0; G.vexnum=25,G.arcnum=30;//25个地区,30条交通路 G.citys[0].name="乌鲁木齐", G.citys[1].name="兰州", G.citys[2].name="西宁", G.citys[3].name="呼和浩特"; G.citys[4].name="北京", G.citys[5].name="天津", G.citys[6].name="沈阳", G.citys[7].name="大连"; G.citys[8].name="长春", G.citys[9].name="哈尔滨", G.citys[10].name="徐州", G.citys[11].name="郑州"; G.citys[12].name="西安", G.citys[13].name="成都", G.citys[14].name="武汉", G.citys[15].name="上海"; G.citys[16].name="昆明", G.citys[17].name="贵阳", G.citys[18].name="株洲", G.citys[19].name="南昌"; G.citys[20].name="福州", G.citys[21].name="南宁", G.citys[22].name="柳州", G.citys[23].name="广州"; G.citys[24].name="深圳"; G.citys[0].train1[0].start="乌鲁木齐", G.citys[0].train1[0].end="兰州", G.citys[0].train1[0].number="K544", G.citys[0].train1[0].type="空调快速"; G.citys[0].train1[0].statime="09:36", G.citys[0].train1[0].arrivetime="09:27", G.citys[0].train1[0].alltime="23:51", G.citys[0].train1[0].price=215; G.citys[0].train1[1].start="乌鲁木齐", G.citys[0].train1[1].end="兰州", G.citys[0].train1[1].number="T296", G.citys[0].train1[1].type="空调特快"; G.citys[0].train1[1].statime="15:00", G.citys[0].train1[1].arrivetime="11:47", G.citys[0].train1[1].alltime="20:47", G.citys[0].train1[1].price=215; G.citys[1].train1[0].start="兰州", G.citys[1].train1[0].end="乌鲁木齐", G.citys[1].train1[0].number="L651", G.citys[1].train1[0].type="普快"; G.citys[1].train1[0].statime="03:44", G.citys[1].train1[0].arrivetime="11:29", G.citys[1].train1[0].alltime="31:45", G.citys[1].train1[0].price=105; G.citys[1].train1[1].start="兰州", G.citys[1].train1[1].end="乌鲁木齐", G.citys[1].train1[1].number="T197", G.citys[1].train1[1].type="空调特快"; G.citys[1].train1[1].statime="10:48", G.citys[1].train1[1].arrivetime="07:25", G.citys[1].train1[1].alltime="20:37", G.citys[1].train1[1].price=215; G.citys[1].train1[2].start="兰州", G.citys[1].train1[2].end="西宁", G.citys[1].train1[2].number="K915", G.citys[1].train1[2].type="快速"; G.citys[1].train1[2].statime="07:19", G.citys[1].train1[2].arrivetime="10:36", G.citys[1].train1[2].alltime="03:17", G.citys[1].train1[2].price=22; G.citys[1].train1[3].start="兰州", G.citys[1].train1[3].end="西宁", G.citys[1].train1[3].number="T207", G.citys[1].train1[3].type="空调特快"; G.citys[1].train1[3].statime="07:12", G.citys[1].train1[3].arrivetime="09:29", G.citys[1].train1[3].alltime="02:17", G.citys[1].train1[3].price=33; G.citys[1].train1[4].start="兰州", G.citys[1].train1[4].end="呼和浩特", G.citys[1].train1[4].number="2636", G.citys[1].train1[4].type="普快"; G.citys[1].train1[4].statime="09:37", G.citys[1].train1[4].arrivetime="06:19", G.citys[1].train1[4].alltime="20:42", G.citys[1].train1[4].price=70; G.citys[1].train1[5].start="兰州", G.citys[1].train1[5].end="呼和浩特", G.citys[1].train1[5].number="K44", G.citys[1].train1[5].type="空调快速"; G.citys[1].train1[5].statime="16:16", G.citys[1].train1[5].arrivetime="09:10", G.citys[1].train1[5].alltime="16:54", G.citys[1].train1[5].price=143; G.citys[1].train1[6].start="兰州", G.citys[1].train1[6].end="西安", G.citys[1].train1[6].number="1210", G.citys[1].train1[6].type="普快"; G.citys[1].train1[6].statime="00:11", G.citys[1].train1[6].arrivetime="10:15", G.citys[1].train1[6].alltime="10:04", G.citys[1].train1[6].price=46; G.citys[1].train1[7].start="兰州", G.citys[1].train1[7].end="西安", G.citys[1].train1[7].number="K592", G.citys[1].train1[7].type="空调快速"; G.citys[1].train1[7].statime="00:20", G.citys[1].train1[7].arrivetime="09:15", G.citys[1].train1[7].alltime="08:55", G.citys[1].train1[7].price=94; G.citys[2].train1[0].start="西宁", G.citys[2].train1[0].end="兰州", G.citys[2].train1[0].number="1050",