交通图咨询查询系统数据结构C语言_第1页
交通图咨询查询系统数据结构C语言_第2页
交通图咨询查询系统数据结构C语言_第3页
交通图咨询查询系统数据结构C语言_第4页
交通图咨询查询系统数据结构C语言_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、河动,求衣摩信息科曇昌工程曇眈结构数据课程设计报告课程设计名称:交通咨询系统专业班级: 计算机XXX学生姓名:XXX学号:2015xxxx指导教师:XX课程设计时间:2016.07.042016.07.08计算机应用技术专业课程设计任务书学皱名Xxx专业班级学号目烦咨询系统课题颐A课题来源D指导教师白浩同组姓名无2内容1-建立交通网络图的存储结构。2. 某个城市到达其余各城市的最短路径。3. 实现两个城市之间最短路径的问題。4. 主要目的是给用户提供路径咨询任驱求5. 根据冷求分析给岀概要设计,本系统包括以下功能模块:添加信息、査询 信息、删除倍息、修改俗息、退出和保存信息:6. 结合课题利用

2、数据结构相关知识,利用C语言实现该系统的所有上述功 能.要求界面友善,程序运行正常:7. 提交课程设计报告1份(具体写作要求参考样例),可运行的系统和源代 码电子版一套。严蔚敏.数据结构(C语言版)北京:清华大学出版社谭浩强.C语言程序设计(第三版)北京:清华大学出版社审査意见指好XX教研竝任好XX2016年06月27日填表说明1. “课题性质”一栏:A. 工程设计:B. 工程技术研究:C. 软件工程(如CAI课题等):D. 文献型综述;E. 其它。2 “课題来源” 一栏:A. 自然科学基金与部、省、市级以上科研课题;B. 企、事业单位委托课题;C. 校、院(系、部)级基金课题:D. 自拟课题

3、。目录1需求分析11.1添加交通图信息11.2査询单源最短路径11.3査询多源最短路径11.4更新交通图信息21.6读取、保存信息22概要设计32.1数据类型的宦义32.2功能模块结构图43运行环境64开发工具和编程语言65详细设计75.1图结构的基本操作75.1.1添加城市结点和路径结点85.1.2修改城市结点和路径结点85.1.3删除城市结点和路径结点85.1.4退出保存85.2迪杰斯特拉算法的实现85.2.1迪杰斯特拉算法函数85.2.2提取迪杰斯特拉函数信息85.2.3求多源最短路径86程序编码97运行结果418心得体会469参考文献471需求分析本系统中的数据来源于标准输入设备(如键

4、盘)和文件,可以实现对交通 图城市、城市到其余城市的距离的操作,根据需要可查询某两个城市之间的最 短距离、城市到各城市的最短距离,各个城市到各个城市的最短距离,以及路 径。本系统要实现的功能有:添加城市和城市间距离,删除城市及城市间距离, 修改城市间距离,查询城市间的最短路径,査询某个城市到某个城市的垠短路 径。具体如下:1.1添加交通图信息能录入新数据(城市和路径)。当录入了重复的城市和路径时,则提示数据 录入重复并取消录入:当交通图中超过15个城市时,存储空间已满,不能再录 入新数据:录入的新数据能按递增的顺序自动进行条目编号。1.2査询单源最短路径能够实现输入起点城市名后,査询出其到各个

5、城市的最短路径,输出该城 市到的其他所有的城市的最短路径。1.3査询多源最短路径输入起点城市名和终点城市名,查询出两个城市的垠短路径,并输出该垠 短路径。1.4更新交通图信息根据给宦的城市名能够修改该城市的名字。或者输入两个城市,修改一条 路径的距离。1.5删除交通图信息根据输入的城市名,删除与该城市有关的所有路径。输入两个城市可 以删除一条路径。1.6读取、保存信息能够实现退出系统时把交通图中的信息保存在一个文件中,在程序瑕疵运 行时能够读取出来。2概要设计2.1数据类型的定义1. 定义交通图城市的元素类型typedef struct _citychar name 10;城市名struct

6、_path * firstpath: 第一个路径AdjList 15,CityNode;2. 定义交通图的路径元素类型typedef struct _path int adjcity/邻接点域int distance: 距离struct _path * nextpath: 下一个路径 PathNode,*PathPtr;adjcitydistancenextpathnamefirstpath3. 定义交通图类型typedef struct int cities;int paths;AdjList list: Graph;4. 全局变量#PList head;typedef int PathMa

7、trix;typedef int ShortPathTable;PathMatrix PMAX_CITIESMAX_CITIES;ShortPathTable DMAX_CITIES;2.2功能模块结构图根据需求分析,为了满足用户的功能需求,按照软件开发方法学中的模块 划分原则,我将本系统主要划分为如下模块:操作交通图信息,和查询交通图 路径两大模块。各模块之间的关系如图1所示。图1模块结构图为了实现上述功能模块,分别在顺序表和单链表物理结构上泄义了多个函数,本系统定义的函数和功能如下:1. 数据结构部分部分void initalize一graph(Graph *G)功能为:图初始化,即生成一

8、个空图。int CreatAdjList(Graph *G)/初始化交通图功能为:图的创建,用图存储数据。void ADD_CITY(Graph *G)功能为:往图G中插入一个城市结点。void ADD_PATH(Graph *G,int ori,int add,PathNode *p)功能为:往图G中插入一个路径结点。void DELETE_CITY(Graph *G,int city)功能为:删除图G中的指定的城市及其相关的路径。void DELETE_PATH(Graph *G,int left,int right)功能为:删除图G中一条指定的路径。void UPDATE_PATH(Gr

9、aph *G,int left,int right)功能为:更新图G中的一个路径信息Status SqListSearchByName(SqList *L,char *name);功能为:通过姓爼查找顺序表中,返回值为其在通讯录中的位置。void UPDATE_CITY(Graph *G,int city,char *name)功能为:更新图G中的一个城市信息。Status SqListSearchByName(SqList *L,char *phone);功能为:通过电话号码査找顺序表中,返回值为其在通讯录中的位置。2. 程序功能部分void MODE_CLIENT(Graph *G)功能为

10、:客户端界而函数。void MODE_ADMIN(Graph *G)功能为:管理员端界面函数。int ReadAdjList(Graph *G)功能为:从文件中读取交通图。int Write Adj List(Graph *G)#功能为:在文件中存储交通图。void menu(int i)功能为:各种的端界面打印。3. 算法实现部分void ShortestPath(Graph *G,int vO)功能为:迪杰斯特拉算法,求出对V0单源最短路径。void Print(Graph *G,int vO)功能为:根据迪杰斯特拉算法,打印出V0单源最短路径。void Print2(Graph *G,i

11、nt vl,int v2)功能为:根据迪杰斯特拉算法,打印出VI和V2的最短路径。void FindPath(Graph *G,int v)功能为:打印出VI到V2的经过路径。int dis(Graph *G,int left,int right)功能为:返回指定路径的距离。3运行环境1. 硬件环境:PC机内存4G;硬盘500G2. 软件环境:操作系统:windows 104开发工具和编程语言开发环境:CodcBlocks、Dev C+编程语言:C语言5详细设计在槪要设计的基础上,对每个模块进行内部逻辑处理部分详细设计。下面 分别列出各个模块具体实现流程图:5.1图结构的基本操作观察了数据对線

12、后,我选择用一个邻接表用來存储图2倍息,则数据结构的基本操作 也就确定了,分别为图的添加、删除、更新。图2模拟交通图5.1.1添加城市结点和路径结点和图的基木操作相同,只是该城市每增加一个城市结点要在弧的邻接点对应的城市上 也增加一条弧。5.1.2修改城市结点和路径结点和图的基木操作相同。5.1.3删除城市结点和路径结点和图的基木操作相同,只是该城市每删除一个城市结点要在弧的邻接点对应的城市上 也删除那条弧。5.1.4退出保存在主函数的开始部分添加Read函数,在管理员修改模式添加Write函数。实现对图结 构的读取保存。5.2迪杰斯特拉算法的实现把算法实现得到不仅仅是一系列数组而是将这些数组

13、的信息提炼成有用的倍息输出 出來,将抽彖的数据转换为具線的信息。5.2.1迪杰斯特拉算法函数定义了若干个全局辅助变虽,如路径矩阵P和距离数组D, final用來标记是否找 到了点的最短路径在函数的初始阶段进行对个辅助变虽的初始化,第一趟把V0相邻的路 径距离保存下来。选择一个最小的用final记录下來,记录下最终的D和P值。再遍历其 他结点,如果出现新的路径,且路径小于最大值INFINITY,则保存路径和跑离以便下次 比较。循环n】次得到V0到各结点的最短距离和路径。5.2.2提取迪杰斯特拉函数信息根据P函数与D函数,可以将V0到每个终点的经过结点和最终路径求出,利用Print 函数打印岀VO

14、和V,再调用FindPath函数,打卬经过的结点。最后打印出距离,便可在 屏幕上打印出单源最短路径。5.2.3求多源最短路径对每个结点循环调用便可打印出每个结点到其他结点的最短路径,通过改变Print函数 的形参,便可以求出两点间的最短路径。6程序编码根据详细设计转化为如下代码,下而列出部分代码:# include# include # include#define OVERFLOW 0#define MAX_CITIES 15#define INFINITY 999#define FALSE 0#define TRUE 1typedef struct _pathint adjcity;O接点

15、域int distance;/距离struct _path *nextpathy/下一个路径 PathNode,*PListMAX_CITIES;typedef structcity7倉-ed nq oru-s JtDpodm oPONmoYS二一surpv 宀0漲签之* ed- gms ze去 MshEEU 106XSSIDIXVWQEqeHWEd 匸 Olis=swLLIolxvw=sUJLLIolxvwd XEewedqeHed 匸ors IWJQPUdmX匸wEdc一 JopodAlPathNode *p,*pl,*pre;int i=0;printfC请输入交通路径数目n“);sca

16、nff%d”,&Gpaths);printf(”请输入城市数目n”);scanf(M%dM,&G-cities);for(i=0; icities; i+)print”请输入第d个城市名称n“,i+l);getchar();scanf(%sn,G-listi .name);G-listi.firstpath=(PathNode *)malloc(sizeof(PathNode);p=G-listi.firstpath;printf(”请输入城市第一条路径的邻接城市的位置(1表示 结束)n“);scanf(n%d,&p-adjcity);printff请输入城市第一条路径的距离n“);scanf

17、(%d,&pdistance);if(p-adjcity=-l)free(p);p=NULL;G-Iisti.firstpath =NULL;/把弧链表的 first 置为NULLwhile(p)p-nextpath=(PathNode *)malloc(sizeof(PathNode);pre=p;p=p-nextpath;printfC*请输入城市下一条路径的邻接城市(1表示结束)n“);scanf(%dn,&p-adjcity);if(p-adjcity=-1)free(p);p=NULL;pre-nextpath = NULL;/置pre为弧链表结束的节 break; print请输入

18、城市下一条路径的距离n“); scanf(%d,&pdistance);return 0;int ReadAdjList(Graph *G)读取交通图FILE *fp;int r,i;PathNode *p,*pl,*pre;if( fp=fbpen(ngraph.txtu,MrM)=NULL)print”文件打开失败”);exit(0);r=fscanf(fp,H%d %d ,&G-paths,&G-cities);if(r=2)for(i=0; icities; i+)12s g鳖量注 TION H gsJc.s.$sA6uJnNHdxd)鱼(.Llope4dmXAU2p04d=p%=.d

19、gueosJJ=_e&SIgE.2A,0=d (UPONedEOUZ3oo=EE(*UPONEd)u-sEd】s 启三玄A,D (Eeu.三玄A,Q=s%=HueosJd H aidK(L)PONEdEOoNs)oo=EE(*QPONEd)H&dlxadjcity);if(p-acljcity=-l)free(p);p=NULL;pre-nextpath = NULL;/置 pre 为弧链表结束的节点break;elsefscanf(fp,%d*,&p-distance);fclose(fp);return 0;int WriteAdjList(Graph *G)读取交通图FILE *fp;i

20、nt r,i;PathNode *p,*pl;if( fp=fbpen(ngraph.txtH,HwH)=NULL)printf(M文件打开失败“);exit(O);fprintf(fp,%d %d ,G-paths,G-cities);for(i=0; icities; i-H-)fprintnfp,%s u,G-);p=G-listi.firstpath;while(p)%d *,p-adjcity,p-distance);p=p-nextpath;fprintf(fp;*-l ”);fclose(fp);return 0;void ADD_PATH(Graph *G,

21、int ori,int add,PathNode p)添加路径 PathNode *pr;pr=(PathNode *)malloc(sizeof(PathNode);pr-adjcity=add;pr-distance=p.distance;pr-nextpath=G. firstpath;G-listori.firstpath=pr;void ADD_CITY(Graph *G)/添加城市int i=0;PathNode *p,*pre;if(G-cities=MAX_CITIES) return ;while(strcmp(G-,Ou)!=O)i卄;G-cities+

22、;print请输入d城市的名称n”,i+l);getchar();scanf(”s,G);G-listi.firstpath=(PathNode *)malloc(sizeof(PathNode); p=G-listi.firstpath;printf(“请输入城市第一条路径的邻接城市的位置(1表示结束)nn);scanf(w%d,*,&p-adjcity);printf(”请输入城市第一条路径的距离n”);scanf(%dn,&p-distance);i fi(p-adjcity= 1)free(p);p=NULL;G-listi.firstpath = NULL;/把弧

23、链表的 first 置为 NULLelseADD_PATH(G,p-adjcity,i,*p);17while(p)p-nextpath=(PathNode *)malloc(sizeof(PathNode);pre = p;p=p-nextpath;print”请输入城市下一条路径的邻接城市(1表示结束)n“);scanf(%d,&padjcity);print”请输入城市下一条路径的距离n“);scanfC%d*,&p-distance);if(p-adjcity=-l)free(p);p=NULL;pre-nextpath = NULL;/置pre为弧链表结束的节点elseADD_PAT

24、H(G,p-adjcity,i,*p);isvoid UPDATE_CITY(Graph *G,int city,char *name)strcpy(G-list ,name);int FindCity(Graph *G,char name)/返回城市的序号int i;for(i=0; icities; i-H-)if(strcmp(name,G-)=O)return i;return -1;void UPDATE_PATH(Graph *G,int left,int right)PathNode *p;int dis;printf(请输入修改后的路径距离

25、n“);scanfT%d”,&dis);p=G-listleft .firstpath;while(l)if(right=p adjcity) p-distance=dis; break;p=p-nextpath;p=G-listright. firstpath;while(l)if(left=p adjcity)p distance=dis; break;p=p-nextpath;return;void DELETE_PATH(Graph *G,int left,int right)PathNode *p,*pre;int dis;p=G-listleft. firstpath;pre=p;

26、while(p)if(right=p adjcity)break;p=p-nextpath;while(l)if(p=G-listleft .firstpath)G-listleft.firstpath=p-nextpath;free(p);break;i Xpre nextpath=p)pre nextpath=p-nextpath; free(p);break;p=G-listright.firstpath;pre=p;while(p)if(left=p adjcity)break;p=p-nextpath;while(l)if(p=G-listright .firstpath)G-lis

27、tright .firstpath=p-nextpath;free(p);break;if(pre-nextpath=p)pre nextpath=pnextpath;free(p);break;return;void DELETE_CITY(Graph *G,int city)int i;while(G-listcity.firstpath)DELETE_PATH(G,city,G-listcity.firstpath-adjcity);G-cities-;for(i=city+l; icities; i-H-)G-listi-l=G-listi;void menu(int i)switch

28、(i)case 0: printff= =(- 门口 乾杯n”); printR”* 欢迎进入交通咨询系统 n); printf(Htttttl:任意键进入客户模式n”); printf(Htttt2:输入密码进入管理员模式n“); printf(Httt3:输入 0 退出系统n”);printf(n(o V )oBINGO!n“);break;case 1:printf(”:=(门口乾杯n”); printff* 欢迎进入交通咨询系统管理员模式* printf(tttttttt 输入:n*);printfi(Htttttttl:初始化交通图n”); printf(Htttttt2:更新交通图

29、信息n“); printf(Httttt3:删除交通图信息n”); printf(ntttt4:添加交通图信息n“); printfCttt5:创建交通图n”); printfftt6:退出n”); printff(o V BINGO!n“); break;case 2: printf(u=(- 门口 乾杯n”);printff* 欢迎进入交通咨询系统客户模式printfi(tttttttt 输入:n);printf(ntttttttl:咨询某城市到其他所有城市的最短路径n“);printf(Htttttt2:咨询所有城市间的最短路径n“); printf|Httttt3:咨询两城市间的最短路

30、径n); printf(ntttt4:浏览地图的邻接表表示5”); printfHttt5:退出n”); printfH(o V )oBINGO!=nH);break;void initalize_graph(Graph *G)int i;for(i=0; ,O);G-listi.firstpath=NULL;void MODE_ADMIN(Graph *G)int i=O,j;char name20,namel 20;PathNode *p;while(l)menu(l);scanfT%d”,&i);switch(i)case 1:initalize_graph(G);

31、print”初始化完成! n”);break;case 2:printf(l :修改城市名n2:修改路径距离n3:返回上一层 n”);scanf(” d,&j);print请输入要修改的城市名称n“);gets(name);printf(”请输入要修改后的城市名称n”);gets(name 1);UPDATE_CITY(G, FindCity(G,name),name 1); print”修改完成! n“);else if(j=2)print”请输入要修改的两个中第一个城市的名称W);gets(name);print”请输入要修改的两个中第二个城市的名称S);gets(namel);UPDAT

32、E_PATH(G,FindCity(G,name),FindCity(G,name 1);printf(”修改完成! n”);elsebreak;break;case 3:printfCl:删除城市n2:删除路径53:返回上一层n“);scanf(” d”,&j);print”请输入要删除的城市名称n“);gets(name);DELETE_CITY(G,FindCity(G,name);printff删除完成! n“);else if(j=2)print”请输入要删除的路径中第一个城市的名称W);gets(name);printfC请输入要修改的两个中第二个城市的名称S);gets(name

33、 1);DELETE_PATH(G,FindCity(G,name),FindCity(G,name 1);printff删除完成! nH);elsebreak;break;case 4:printf( 1:添加城市n2:添加路径n3:返回上一层n”);scanff%d”,&j);if(j=l)ADD_CITY(G);print”添加完成! nH);else if(j=2)p=(PathNode *)malloc(sizeofPathNode);print”请输入要添加的路径中第一个城市的名称S);gets(name);print”请输入要添加的两个中第二个城市的名称S);gets(namel

34、);printf(M请输入要添加的路径的距离n”);scanf(%d,padjcity);ADD_PATH(G,FindCity(G,name),FindCity(G,name l),*p);29ADD_PATH(G,FindCity (G,name 1 ),FindCity(G,name),*p); printf(u添加完成! nM);elsebreak;break;case 5:CreatAdjList(G);printf(“创建完成! n“);break;default:return;WriteAdjList(G);int dis(Graph *G,int left,int right)

35、PathNode *p;p=G-listleft .firstpath;3!while(p)if(right=p-adjcity)return p-distance;p=p-nextpath;return INFINITY;void ShortestPath(Graph *G,int vO)int i,w,v,min,l=0;int finalMAX_CITIESy/Dijkstra toolfor(v=0; vcities; v+)finalv=FALSE;Dv=dis(G,vO,v);for(w=0; wcities; w+)Pvw=FALSE;if(DvINFINITY)#PvvO=l;

36、Pvw=l;DvO=O;finalvO=TRUE;for(i=l; icities; i+)mm=lNFlNITY;for(w=0; wcities; w-H-)if(!finalw)if(Dwmin)v=w; min=Dw;finalv=TRUE;for(w=0; wcities; w卄)if(! final w &(min+dis(G, v, w)D w)Dw=min+dis(G,v,w);strcpy(char*)Pw,(char *)Pv);Pwv=TRUE;void FindPath(Graph *G,int v)int i=0;for(i=0; iMAX_CITIES; i+)if

37、(Pvi=l)if(dis(G,v,i)M,G-);void Print(Graph *G,int vO)#int i;PathNode *p,*pre;for(i=0; icities;汁+)if(i!=vO)printf(u%s到$的最短距离为d,路径如下:n”,GlistvO.name,G-,Di);printf(n%s-H,G-listvO .name);Piv0=0;Pii=0;FindPath(G,i);printf(,%sn,G-);void Print2(Graph *G,int vl,int v2)printf(n%

38、s到$的最短距离为d,路径如下:nM,G-,G-,Dv2);printf(%s-*,G-listv );Pv2vl=0;Pv2v2=0;FindPath(G,v2);printf(,%sn,G-listv2 .name);void Print3(Graph *G)int i;PathNode *p;for(i=0; icities;汁+)p=G-listi.firstpath-nextpath;printK”|%2d% 1 2s%1 2s3d|”,i+1,G-,G-listG-listi.firstpath-adjc

39、,G-listi .firstpath-distance);while(p)printf(”%12s3d|“,G-,p-distance);p=p nextpath;printffvv);putchar(lO);void MODE_CLIENT(Graph *G)int i,j;int v0,vl,v2;char namel 20,name220,name20;while(l)menu(2);scanf(”d”,&i);switch(i)case 1:printf(”请输入城市的名称:n”);scanf(H%s,name);vO=FindCi

40、ty(G,name);ifi(vO=-l)print”输入有误或者没有该城市! “); break;ShortestPath(G,vO);Print(G,vO);break;case 3:print”请输入第一个城市的名称:n“);scanf(%s”,name 1);v l=FindCity(G,name 1);print”请输入第二个城市的名称:n“);scanf(%s,name2);v2=FindCity(G,name2);if(vl=-l|v2=-l)printfC*输入有误或者没有该城市! “); break;ShortestPath(G,v 1);Print2(G,vl,v2);br

41、eak;case 2:for(j=0; jcities; j+) ShortestPath(G,j);Print(G,j);break;case 4:Print3(G);getchar();getchar();break;default:return;int main()Graph G;int password=123;initalize_graph (&G);Read Adj List(&G);while(l)menu(O);scanf(%d,&password);if(password=123)MODE_ADMIN(&G);else if(password=0)return 0;elseM

42、ODE_CLIENT(&G);return 0;7运行结果插入城市函数测试: 输入:TextCity47输出纟古果: 添加完成!査看邻接表结果:* 选搔 C:UsersAdministratorDesktopfi3S结构 未命名 1 .exe(。 )05 BINGO!=:1欢迎进入交通咨询系统客户模式输入:1:咨询某城市到:2:咨询所有城市间的最短;3:咨询两城市间的最短路径4:浏览地图的邻接表表示5:退岀(o V )BINGO!=411 BeijingTextCity3IHanDan“3IShenYangz1|2 TianjinShenYang3I_BeiJing|ShangHai7、1|3

43、 ShangHai一HanDan10I_ShenYang12|-TianJinz、1|4 ZhengZhou-HanDan21-BeiJing6IShangHai|5 XiAnLaSa201_BeiJingI -ZhengZhou|6 WuHan_HanDan41 _ZhengZhou3I_GuangZhou|7 GuangZhouHanDanjLaSa281 -ShangHai(|8 ShenYangBeiJing61TianJin3I-ShangHai|9 LaSa-XiAn20I GuangZhou28lIlOHanDanBeiJing31 _ZhengZhou2|-WuHanII ll

44、TextCity-BeiJing3l删除城市函数测试:输入:LaSa输岀结果: 删除完成!查看邻接表结果对比: 删除前:1 BeijingHanDan|ShenYang6-TianJin1-ShangHai8|-Guang2|2 TianjinShenYang3|BeiJing1ShangHai8l|3 ShangHaiHanDanI_ShenYang12|TianJin8|BeiJing飞|Zheng2|4 ZhengZhou一HanDan21BeiJing飞(-Shan8Hai*7IXuHan*31XiAnl|s Xi AnLaSa201BeiJing5|2heng2hou21 一XJua

45、ngZhou为l|6 VuHan一HanDan41一2hen2hou3|XJuangZhoul|7 GuangZhou一HanDanllILaSa28一ShangHai*3|XuHan“4|XiAn|8 ShenYangBeiJing6jTianJin!ShangHai12l|9 LaSaXiAn20|XJuangZhou28l|lOHanDan、3I 一ZhenZhou2|VuHan4I XluangZhou-111ShangF删除后:11 BeijingHari)an、3|ShenYang飞TiarJin1|ShangHi、8I|2 TiarjinShenYang3|BeiJingShan

46、gHai飞l3 ShangHaiHanDan、10|ShenYans12-TiarJin81一BeiJing8|Zheng2|4 ZhensZhouHanDan2|BeiJing飞ShangHai、7|VuHan|-XiAn15 XiAn*BeiJing-5|*ZhensZhou2*-GuangZhou为l16 luHanHanDan41 ZhengZhou3-Guang2hou亠4l1? GuangZhouHanDanjShangHai3-VuHan|-XiAn9|S ShenYang一Beijing飞|TianJin3一ShangHai12l|9 HanDanBeiJing31 ZhengZhou2VuHan“41XJuangZhou-111一Sharl更新城市函数测试: 略:修改城市函数测试:略:退出保存函数测试:略:单源多终点函数测试: 输入:TextCity输出结果: C:UsersAdministratorDesktopt5未命名 1 exe1请输入城市的名称:TextCityTextCi tyljBeiJing的最短距离为3,路径如下:T extCi tyBeiJ ingTextCii anjin的最短距离为4,路径如下:TextCityBeiJingTianJinTextCityjljShangHai的最短距离为11,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论