数据结构课程设计--全国交通咨询模拟 代码

  • 格式:doc
  • 大小:273.50 KB
  • 文档页数:34

下载文档原格式

  / 100
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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",