数据结构课设报告(3)

2019-08-30 23:29

7、源程序

#include #include #include #include #define Len 44

#define N 100000 //定义两个公交站之间的最大距离,单位m typedef struct xl {

int adj; /*相邻接的公交站的距离*/ }xl;

typedef struct VertexType {

char *site ;

/*公交站名称*/ int route[8];

/*经过该站的路线*/ }VertexType;

/*定义顶点的类型*/

typedef struct MGraph //定义无向图的结构体 {

VertexType vex[Len];

/*图中的顶点,即为站点*/ xl arcs[Len][Len];

/*图中的边,即为两个站点间的距离*/ int vexnum,arcnum ; /*顶点数,边数*/ }MGraph;

MGraph G;

typedef struct Bus {

int num; //车辆的路线号

int stopnum; //每辆车经过的车站的总数 int pass[13]; //每一路车经过的站点的信息 }Bus; //车辆信息

int P[Len][Len]; long int D[Len];

10

void CreateUDN(int v) //构建站点信息以及站点间的无向图 {

int i,j ;

G.vexnum=v;

G.vex[0].site=\长沙火车站\ G.vex[1].site=\窑岭南\ G.vex[2].site=\东塘北\ G.vex[3].site=\中附一院\ G.vex[4].site=\橘园桥北\ G.vex[5].site=\铁道学院\ G.vex[6].site=\林科大\ G.vex[7].site=\井湾子南\ G.vex[8].site=\湖南女大\ G.vex[9].site=\植物园\ G.vex[10].site=\汽车南站\ G.vex[11].site=\人民路北\ G.vex[12].site=\公交新村\ G.vex[13].site=\王家冲\ G.vex[14].site=\高叶塘\ G.vex[15].site=\桃子湖\ G.vex[16].site=\湖大\ G.vex[17].site=\靳江路口\ G.vex[18].site=\南郊公园\ G.vex[19].site=\汽车西站\ G.vex[20].site=\湖南财专\ G.vex[21].site=\丁家垅\ G.vex[22].site=\潇湘晨报\ G.vex[23].site=\香樟路\ G.vex[24].site=\雨花区北\ G.vex[25].site=\火车南站\ G.vex[26].site=\柑子园\ G.vex[27].site=\修业学校\ G.vex[28].site=\义茶亭\ G.vex[29].site=\雨花区西\ G.vex[30].site=\贾谊故居\ G.vex[31].site=\燕子岭\ G.vex[32].site=\东塘西\ G.vex[33].site=\韶山路口\ G.vex[34].site=\新韶路口\ G.vex[35].site=\五菱电力\ G.vex[36].site=\汽车东站\ G.vex[37].site=\血液中心\ G.vex[38].site=\长沙海关\ G.vex[39].site=\橘园桥东\

11

G.vex[40].site=\汽车西站\ G.vex[41].site=\瓜瓢山\ G.vex[42].site=\王家湾\ G.vex[43].site=\阳光一百\ for(i=0;i

12

G.vex[9].route[1]=107; G.vex[9].route[2]=152; G.vex[9].route[3]=502; G.vex[9].route[4]=17; G.vex[10].route[0]=7; G.vex[10].route[1]=107; G.vex[10].route[2]=152; G.vex[10].route[3]=502; G.vex[10].route[4]=17; G.vex[11].route[0]=107; G.vex[12].route[0]=107; G.vex[13].route[0]=107; G.vex[14].route[0]=152; G.vex[14].route[1]=63; G.vex[15].route[0]=152; G.vex[15].route[1]=63; G.vex[16].route[0]=152; G.vex[16].route[1]=63; G.vex[17].route[0]=152; G.vex[17].route[1]=63; G.vex[18].route[0]=152; G.vex[18].route[1]=63; G.vex[18].route[2]=17; G.vex[19].route[0]=63; G.vex[20].route[0]=63; G.vex[21].route[0]=63; G.vex[22].route[0]=63; G.vex[22].route[1]=124; G.vex[23].route[0]=63; G.vex[23].route[1]=124; G.vex[24].route[0]=63; G.vex[24].route[1]=124; G.vex[25].route[0]=63; G.vex[25].route[1]=124; G.vex[26].route[0]=124; G.vex[27].route[0]=124; G.vex[27].route[1]=145; G.vex[28].route[0]=124; G.vex[29].route[0]=124; G.vex[30].route[0]=145; G.vex[31].route[0]=145; G.vex[32].route[0]=145; G.vex[33].route[0]=145; G.vex[34].route[0]=145;

13

G.vex[35].route[0]=145; G.vex[36].route[0]=502; G.vex[37].route[0]=502; G.vex[38].route[0]=502; G.vex[39].route[0]=502; G.vex[40].route[0]=17; G.vex[41].route[0]=17; G.vex[42].route[0]=17; G.vex[43].route[0]=17;

/*这里把所有的边假定为N,含义是站点之间不可到达*/ for(i=0;i

/*下边是可直接到达的站点的距离,由于两个站点间距离是互相的, 所以要对图中对称的边同时赋值。*/ G.arcs[0][1].adj=G.arcs[1][0].adj=2700; G.arcs[0][11].adj=G.arcs[11][0].adj=1400; G.arcs[1][2].adj=G.arcs[2][1].adj=1300; G.arcs[2][3].adj=G.arcs[3][2].adj=1000; G.arcs[2][28].adj=G.arcs[28][2].adj=2000; G.arcs[3][4].adj=G.arcs[4][3].adj=1400; G.arcs[3][32].adj=G.arcs[32][3].adj=750; G.arcs[4][5].adj=G.arcs[5][4].adj=900; G.arcs[4][13].adj=G.arcs[13][4].adj=700; G.arcs[5][6].adj=G.arcs[6][5].adj=1250; G.arcs[5][39].adj=G.arcs[39][5].adj=500; G.arcs[5][18].adj=G.arcs[18][5].adj=3000; G.arcs[5][21].adj=G.arcs[21][5].adj=1850; G.arcs[5][22].adj=G.arcs[22][5].adj=900; G.arcs[6][7].adj=G.arcs[7][6].adj=1400; G.arcs[6][33].adj=G.arcs[33][6].adj=1500; G.arcs[7][8].adj=G.arcs[8][7].adj=1200; G.arcs[8][9].adj=G.arcs[9][8].adj=1000; G.arcs[9][10].adj=G.arcs[10][9].adj=1000; G.arcs[11][12].adj=G.arcs[12][11].adj=2500; G.arcs[12][13].adj=G.arcs[13][12].adj=1500; G.arcs[14][15].adj=G.arcs[15][14].adj=1900; G.arcs[14][20].adj=G.arcs[20][14].adj=2300; G.arcs[15][16].adj=G.arcs[16][15].adj=600; G.arcs[16][17].adj=G.arcs[17][16].adj=3300; G.arcs[17][18].adj=G.arcs[18][17].adj=3400; G.arcs[18][21].adj=G.arcs[21][18].adj=1100; G.arcs[18][43].adj=G.arcs[43][18].adj=3000; G.arcs[19][20].adj=G.arcs[20][19].adj=1400;

14


数据结构课设报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:昆明市乡村城镇化建设的几点思考 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: