ImageVerifierCode 换一换
格式:DOC , 页数:26 ,大小:655.91KB ,
资源ID:4758963      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4758963.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(迪杰斯特拉-景点导航问题的课程设计.doc)为本站上传会员【丰****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

迪杰斯特拉-景点导航问题的课程设计.doc

1、 课程设计报告 实验名称:数据结构与算法课程设计 题 目: 景点导航问题 院 系: 计算机工程学院 班 级: 软件 学 号: 学生姓名: 指导教师: 设计周数: 1周 成 绩: 日期: 2

2、016 年 7 月 4 日 25 目录 一、 课程设计的目的与要求 2 1. 目的: 2 2. 要求: 2 二、 课程设计题目 2 三、 需求分析 2 四、 概要设计 3 五、 详细设计 4 六、 调试分析 6 1. 界面及其选择功能测试 6 2. 创建景点平面图功能的调试 7 3. 景点相关信息查询功能的调试 7 4. 景点路径信息查询功能的调试 8 七、 使用说明 9 八、 测试结果 10 九、 总结 11 1 已完成的工作 11 2 未完成的工作 11 3 需做的改进 12 附录 12 参考文献 12 景点平面图 12 源程序 13

3、 一、 课程设计的目的与要求 1. 目的: 应用数据结构和算法来设计相应的程序,培养学生问题求解模块的框架设计和详细设计、相关程序实现和调试能力,完成创新能力和实践能力的训练。 2. 要求: 用高级程序设计语言C编码,用VC++开发平台调试。 二、 课程设计题目 景点导航问题:设计某一景点的平面图,至少包括10个以上的场所,每两个场所可以有不同的路径,并且路径长度可能不同,找出从任意场所到达另一场所的最佳路径。 三、 需求分析 本演示程序基于VC++6.0编写,完成景点布局的建立、查询,以及各个景点之间的路径查询。 1) 设计景点的平面图,在该景点选取10个左右的

4、子景点。以图中顶点表示该景点内的各景点,存放子景点名称、代号、简介等信息;以边表示路径,存放路径长度等有关信息。 2) 为来访客人提供图中任意景点相关信息的查询。 3) 为来访客人提供任意景点的问路查询,即查询任意两个景点之间的一条最短路径。 4) 为来访客人提供将所查询到的信息保存到指定文件中去的功能。 5) 测试数据: A. 创建景点平面图的操作中依次输入11(景点个数)、 14(相邻景点边数)、 “枇杷园”(各个景点的名称)、“枇杷园是……”(各个景点的简介)、(1 2)(相邻景点的代号)、13(相邻景点的距离),生成一个景点平面图。 B. 查询景点相关信息操作中,输入1、2

5、3……屏幕终端分别显示1号景点、2号景点、3号景点……的名称、简介,以及其相邻的景点。 C. 查询景点路径的操作中,输入景点代号,如代号1,屏幕终端显示1号景点与其他所有景点的最短路程及所经过的路径。 四、 概要设计 1) 为了实现上述程序功能,需要定义景点平面图的抽象数据类型: Mgraph{ 数据对象:D1={vex|vex∈vexs[vnum],i=0,1,2,…,n≥0} D2={arc|arc∈IntegerSet,i=0,1,2,…,n≥0} 数据关系:R={(ai,ai+1)=arci| ai,ai+1 ∈D1,arci∈D2 } 基本操作: 函数原型 初始

6、条件 操作结果 Void creatgraph(Mgraph *G,char *name[],char *intro[]) 无初始条件 创建一个景点平面图的邻接矩阵和两个字符数组,存放有景点名称、简介等相关信息 Void dijkstra(Mgraph G,int v,char *name[]); 景点平面图G、景点名称数组name已经存在 查询到任意一景点代号v到其他景点的最短路程和路径 Void dijkstra_file(Mgraph G,int v,char *name[]); 景点平面图G、景点名称数组name已经存在 查询到任意一景点代号v到其他景点的最短路程和

7、路径并保存到指定文件中 Void asked(Mgraph G,int v,char *intro[],char *name[]); 景点平面图G、景点名称数组name、景点简介数组intro已经存在 查询到任意一景点v的名称、简介以及相邻景点 Void asked_file(Mgraph G,int v,char *intro[],char *name[]); 景点平面图G、景点名称数组name、景点简介数组intro已经存在 查询到任意一景点v的名称、简介以及相邻景点并保存到指定文件中 Void menu_one(); 在屏幕终端输入1 实现任意一景点的相关查询; 在

8、屏幕上显示操作菜单 Void menu_two(); 在屏幕终端输入2、景点平面图G、景点名称数组name已经存在 在屏幕上显示操作菜单 实现景点平面图中任意一景点相关信息的查询 } 2) 本程序包含8个函数 ① 主函数main() ② 创建景点平面图函数creatgraph() ③ 显示操作菜单函数一menu_one() ④ 显示操作菜单函数二menu_two() ⑤ 最短路径查询函数dijkstra() ⑥ 最短路径结果储存函数dijkstra_file() ⑦ 景点名称查询函数asked() ⑧ 景点名称结果储存函数asked_file() 各函数间关系如下

9、 五、 详细设计 为了实现概要设计中定义的所有的数据类型,对每个操作写出C语言算法;对主程序和其他模块也都需要写出C语言算法;画出系统结构图 1) 景点平面图的数据类型 typedef char Velemtype; typedef struct { Velemtype vexs[vnum]; int arcs[vnum][vnum]; int vex,arc; }Mgraph; 2) 景点平面图的基本操作如下 void creatgraph(Mgraph *G,char *name[],char *intro[]); void dijkstra(Mgr

10、aph G,int v,char *name[]); void dijkstra_file(Mgraph G,int v,char *name[]); void asked(Mgraph G,int v,char *intro[],char *name[]); void asked_file(Mgraph G,int v,char *intro[],char *name[]); void menu_one(); void menu_two(); void main(); 其说明见前。 其中Menu_two为自行设计的景点平面图,即景点平面图已初始化成功。该景点平面图有11个景点

11、14条景点间的接边。 该景点平面图设计如下: 六、 调试分析 1. 界面及其选择功能测试 检查界面布局是否合理、正确, 选择不同功能后是否可以正确显示。 ① 主菜单1(Menu_one)的界面如下: ② 主菜单2(menu_two)的界面如下: 2. 创建景点平面图功能的调试 3. 景点相关信息查询功能的调试 ① Menu_one中查询功能的调试 分别为输入数据有误和无误时的情况,并可选择是否将结果储存到文件中: ② Menu_two中查询功能的调试 [1.] 输入正确时: [2.] 输入非法数字时: 4. 景点路径信息查询功能的调试

12、 ① Menu_one中路径查询功能的调试 ② Menu_two中路径查询功能的调试 [1.] 输入非法数字时: [2.] 输入正确时 经检验,该结果与用dijkstra算法所求得的结果一致。 通过以上测试可以基本确景点导航系统是否实现了预定的功能。 七、 使用说明 程序名为 课程设计.exe,运行环境为DOS。程序执行后显示 *******************欢迎使用XXX景点导航系统******************** **********Welecome to Use the Attractions Navigation System********

13、 ******************** Menu ********************* * * * * Function one: 设计景点 Function two: 查询景点信息 * * Function three 问路查询 Function zero: 退出系统 * * 请选择 [Please choose the function what you want]----------- 在select后输入数字选择实现不同的功能,该主菜单需要先自行设计一景点平面图后才能进行其他操作。 具体操作在第六部分均有图示

14、 八、 测试结果 1) 在menu_one中的设计(创建)操作: 选择1,输入3 2建立一个三个景点,两条路径的平面图; 输入各个景点的名称和简介; 输入各个路径的终点和始点,以及路径长度。 得到景点平面图G、景点名称数组name以及景点简介数组intro。 2) 查询景点详细信息操作(以menu_two为例): 输入2,得到: 继续输入1,则 若输入2,则返回主菜单。 输入55,提示输入错误,重新输入。 3) 查询景点相关路径操作(以menu_two为例): 输入4,得到 继续输入1,得到 若输入2,则返回主菜单。 输入 -2,提示输入错误

15、返回主菜单重新输入。 九、 总结 1 已完成的工作 本演示程序运行于DOS环境,基本完成了对景点平面图的设计、对其中各个景点的查找、各个景点之间路径查找的功能,用户端可能输入的各种情况考虑的比较完善,程序界面也做到较为简洁友善。而且程序还支持文件储存功能,可以将查询结果向用户端保存。 2 未完成的工作 该程序在灵活性、通用性方面还有所欠缺。其中设计(创建)景点平面图的过程比较繁琐,需大量输入各种信息,平面图若较为复杂则实用性不高。此外程序部分过程比较繁琐,时间、空间复杂度相对较大,对于大程序大平面图设计来说,会造成很多时间空间的浪费。在存储功能的方面也存在些许不足,不支持文件的追加

16、读入功能,导致每个文件只能读入一次储存结果,若继续存储则会替换原有的存储内容。 3 需做的改进 本设计中只是完成了要求的内容,并没有考虑算法的时间和空间复杂度,然而这些也是图论所介绍过的,在大程序中就显得的非常重要了,但是本例考虑程序小为了实现方便没有予以考虑,特别是在求最短路径的算法中,又增加了以固定字符串格式输出以确保效果,时间复杂度达到了O(n*n*n*n*n*n)的程度,在以后的编程中需要注意。 附录 参考文献 [1.] 蒋长浩,吴建专,顾国华等《图论及其应用》,东南大学出版社,2002年 [2.] 徐俊明《图论及其应用》,中国科学与技术出版社,2000年 [3.] 张璇

17、平,雷永梅等《数据结构》,机械工业出版社,2001年 [4.] 李明哲《图论及其算法》,机械工业出版社,2010年 [5.] 谭浩强《C程序设计(第四版)》,清华大学出版社,2010年 [6.] 郑玲《C语言程序设计》,中国电力出版社,2009年 [7.] 林碧英《新编数据结构及算法教程》,清华大学出版社,2012年 景点平面图 景点简介: 枇杷园:到枇杷园游玩,如同其它风景名胜古迹,春、夏、秋、冬景色各有魅力,只有身临其境才能欣赏到山水如画的美。 夕照廊:斜阳落照,塔起金轮,湖上黄昏暮景中无有堪与之相匹者,坐落在湖上的夕照廊,给你诗一般的感受。 山色亭:山色亭,妙在

18、借景,把园内的山和园外的水通过复廊互相引借,使山、水、建筑构成整体,游于其中,给人以无尽的遐想和舒适。 多累台:多累台内有四季长青的雪松,龙柏,有迎春怒放的碧桃,牡丹,有夏日争艳的月季,石榴,还有八月飘香的桂花和寒冬傲雪的腊梅等,各种花木参差错落,宛若人间仙境。 沉心堂:沉心堂中有诸多字画、古玩,朴实典雅,散发悠远气息,是游客放松身心、修养品性的绝佳之地。 正门:正门位于该景点的北面,与银锄湖、夕照廊和沉心堂相连,门由红木雕刻,朴实而典雅。 银锄湖:银锄湖,波光粼粼,宛若银龙,微风拂过,泛起的淡淡涟漪银光闪闪,湖水清澈见底,湖内有各种鱼虾,是游客清凉避暑的好去处。 沁芳榭:沁芳榭中生

19、长着各种各样的花草,无论春夏秋冬,整个园内都散发着芬芳,花盛开之时,万紫千红之境,使游客无法不驻足流连。 松陵酒家:游客若是观赏劳累,想小憩一会,松陵酒家便是不二选择。这充满古色古香气息的酒家,总是可以让游客放松下来,与朋友饮酒畅谈。 偏门:偏门位于该景点的南面,与正门相呼应,可直达引静桥、松陵酒家。 引静桥:引静桥坐落在该景点南面的一湖上,通体都是由大理石打造的引静桥,远远望去,就像是一位朴实安祥的老者,游客登上桥面,也会感觉内心平静而安。 源程序 #include #include #include #includ

20、e #include #define vnum 20 typedef char Velemtype; typedef struct { Velemtype vexs[vnum]; int arcs[vnum][vnum]; int vex,arc; }Mgraph; void creatgraph(Mgraph *G,char *name[],char *intro[]); void dijkstra(Mgraph G,int v,char *name[]); void dijkstra_file(Mgr

21、aph G,int v,char *name[]); void asked(Mgraph G,int v,char *intro[],char *name[]); void asked_file(Mgraph G,int v,char *intro[],char *name[]); void menu_one(); void menu_two(); void main() { int n; scanf("%d",&n); if(n==1) { system("cls"); menu_one(); } else if(n==2) {

22、system("cls"); menu_two(); } else return; } void menu_one() { Mgraph G; char *name[vnum]; char *intro[vnum]; int n,m; int i,j,l; printf("******************** 欢迎使用XXX景点导航系统 ********************\n"); printf("**********Welecome to Use the Attractions Navigation System**

23、\n"); printf("********************\t\tMenu\t\t*********************\n"); printf("* *\n"); printf("* *\n"); printf("Function one:\t设计景点\tFunction two:查询景点信息\t\n"); printf("* *\n"); printf("Function three:\t问路查询\tFunction zero:\t退出系统\t\n"); printf("* *\n"); printf("请选择 [Pl

24、ease choose the function what you want]-----------\n"); printf("* *\n"); while(n) { printf("Please input a number:\t"); scanf("%d",&n); if(n==1) { printf("请按照以下操作提示进行---------\n"); printf("按任意键继续------\n"); getch(); creatgraph(&G,name,intro); printf("*******您已设

25、计完成~~请继续选择~~********\n"); } if(n==2) { printf("请选择您当前所在的位置代号或您想查询的景点位置代号--------\n"); scanf("%d",&i); if(i>G.vex||!i||!G.vex) { printf("该位置代号输入有误!!!无法查询!!!\n"); printf("请重新选择您要实现的功能:\n"); } else { asked(G,i,intro,name); printf("您可以继续选择~\n");

26、 printf("将结果保存到文件中?\n是-----------------1\n否-----------------2\n"); scanf("%d",&l); if(l==1) asked_file(G,i,intro,name); } } if(n==3) { printf("请选择您所在的位置代号或您想查询的景点位置代号--------\n"); scanf("%d",&j); if(j>G.vex||!j||!G.vex) { printf("该位置代号输入有误!!!无法查询!

27、\n"); printf("请重新选择您要实现的功能:\n"); } else { dijkstra(G,j,name); printf("您可以继续选择~\n"); printf("将结果保存到文件中?\n是-----------------1\n否-----------------2\n"); scanf("%d",&m); if(m==1) dijkstra_file(G,j,name); } } if(n>3||n<0) printf("您输入的数字有误!!

28、请重新输入!\n"); } } void menu_two() { int a[14][2]={{1,2},{2,3},{3,4},{4,5},{5,6},{2,5},{2,6},{6,7},{7,8},{7,9},{5,9},{9,10},{10,11},{4,11}}; int b[vnum]={16,59,22,27,46,9,14,18,11,45,31,33,8,16}; char *name[]={"枇杷园","夕照廊","山色亭", "多累台","沉心堂","正门", "银锄湖","沁芳榭","松陵酒家", "偏

29、门","引静桥"}; char *intro[]= { "到枇杷园游玩,如同其它风景名胜古迹,春、夏、秋、冬景色各有魅力,只有身临其境才能欣赏到山水如画的美。", "斜阳落照,塔起金轮,湖上黄昏暮景中无有堪与之相匹者,坐落在湖上的夕照廊,给你诗一般的感受。", "山色亭,妙在借景,把园内的山和园外的水通过复廊互相引借,使山、水、建筑构成整体,游于其中,给人以无尽的遐想和舒适。", "多累台内有四季长青的雪松,龙柏,有迎春怒放的碧桃,牡丹,有夏日争艳的月季,石榴,还有八月飘香的桂花和寒冬傲雪的腊梅等,各种花木参差错落,宛若人间仙境。", "沉心堂中有诸多字画

30、古玩,朴实典雅,散发悠远气息,是游客放松身心、修养品性的绝佳之地。", "正门位于该景点的北面,与银锄湖、夕照廊和沉心堂相连,门由红木雕刻,朴实而典雅。", "银锄湖,波光粼粼,宛若银龙,微风拂过,泛起的淡淡涟漪银光闪闪,湖水清澈见底,湖内有各种鱼虾,是游客清凉避暑的好去处。", "沁芳榭中生长着各种各样的花草,无论春夏秋冬,整个园内都散发着芬芳,花盛开之时,万紫千红之境,使游客无法不驻足流连。", "游客若是观赏劳累,想小憩一会,松陵酒家便是不二选择。这充满古色古香气息的酒家,总是可以让游客放松下来,与朋友饮酒畅谈。", "偏门位于该景点的南面,与正门相呼应,

31、可直达引静桥、松陵酒家。", "引静桥坐落在该景点南面的一湖上,通体都是由大理石打造的引静桥,远远望去,就像是一位朴实安祥的老者,游客登上桥面,也会感觉内心平静而安逸" }; Mgraph G; int n,j,k,m,l; G.vex=11; G.arc=14; for(int i=1;i

32、[i]=0; } else G.arcs [i][j]=10000; } for(i=0;i

33、ions Navigation System**********\n"); printf("* *\n"); printf("* *\n"); printf("* *尊敬的游客您好~欢迎来到XXX景区,我是景区的导航系统--小航 O(∩_∩)O\n"); printf("* *下面是该景区的主要景点以及代号~~\n"); for(i=1;i<=G.vex;i++) { printf("[ %d ]-%s\t",i,name[i-1]); if(i%3==0) printf("\n"); } printf("\n"); printf("

34、 *\n"); printf("小航有什么可以帮到您的呢?\n"); printf("* *\n"); printf("One:\t我想要看看某个景点的信息~~\n"); printf("Two:\t我想知道这个地方的路怎么走~~\n"); printf("* *\n"); printf("请选择 [Please choose the function what you want]---------\n"); printf("* *\n"); while(n) { printf("Please input a number:\t"); sc

35、anf("%d",&n); if(n==1) { printf("请按照以下操作提示进行---------\n"); printf("按任意键继续------\n"); getch(); printf("请选择您所在的位置代号或您想查询的景点位置代号--------\n"); scanf("%d",&j); if(j>G.vex||!j) { printf("您输入的代号可能有误哦~小航无法帮您查询到(;′⌒`)\n"); printf("请重新选择一下您要实现的功能吧~\n"); } el

36、se { asked(G,j,intro,name); printf("您可以继续选择~\n"); printf("将结果保存到文件中?\n是-----------------1\n否-----------------2\n"); scanf("%d",&l); if(l=1) asked_file(G,j,intro,name); } } if(n==2) { printf("请选择您所在的位置代号或您想查询的景点位置代号--------\n"); scanf("%d",&k);

37、 if(k>G.vex||!k||!G.vex) { printf("您输入的代号可能有误哦~小航无法帮您查询到(;′⌒`)\n"); printf("请重新选择一下您要实现的功能吧~\n"); } else { dijkstra(G,k,name); printf("您可以继续选择~\n"); printf("将结果保存到文件中?\n是-----------------1\n否-----------------2\n"); scanf("%d",&m); if(m==1)

38、dijkstra_file(G,k,name); } } if(n>=3||n<0) { printf("您输入的数字可能有误哦~超过了小航的能力范围呢(;′⌒`)\n"); printf("请重新输入~\n"); } } } void creatgraph(Mgraph *G,char *name[],char *intro[]) { int n,j; printf("请输入总景点数和可直达的两景点数目:\t"); scanf("%d%d",&G->vex,&G->arc); for(int i=1;i<=G

39、>vex;i++) G->vexs[i-1]=i; for(i=1;i<=G->vex;i++) { printf("请输入 %d 编号的景点的名称:\t",i); name[i-1]=(char *)malloc(sizeof(char)*10); scanf("%s",name[i-1]); printf("请输入该景点的简介:\n"); intro[i-1]=(char *)malloc(sizeof(char)*100); scanf("%s",intro[i-1]); } for(i=0;ivex;i++) f

40、or(int j=0;jvex;j++) G->arcs[i][j]=0; for(int k=0;karc;k++) { printf("请输入可以直达的两景点代号: \t"); scanf("%d%d",&i,&j); printf("请输入两景点的距离:\t"); scanf("%d",&n); G->arcs[i-1][j-1]=n; G->arcs[j-1][i-1]=n; } for(i=0;ivex;i++) for(j=0;jvex;j++) { if(G->arcs

41、[i][j]==0&&i!=j) { G->arcs[i][j]=10000; G->arcs[j][i]=10000; } } } void dijkstra(Mgraph G,int v,char *name[]) { int dist[vnum]; int path[vnum][vnum]; int flag,k,min,m,n; for(int i=0;i

42、 { dist[i]=G.arcs[v-1][i]; if(dist[i]!=0&&dist[i]!=10000) { path[i][0]=v; path[i][1]=i+1; } } n=0; flag=1; while(flag) { k=0; min=10000; for(int j=0;j

43、从%s出发,到",name[v-1],name[k],min,name[v-1]); j=2; while(path[k][j]!=-1&&j

44、ist[k]+G.arcs[k][j]

45、dist[j]<10000) flag=1; } } void dijkstra_file(Mgraph G,int v,char *name[]) { int dist[vnum]; int path[vnum][vnum]; int flag,k,min,m,n; char infile[20]; FILE *fp; for(int i=0;i

46、cs[v-1][i]; if(dist[i]!=0&&dist[i]!=10000) { path[i][0]=v; path[i][1]=i+1; } } printf("* *请输入您要保存的文件名-----\n"); scanf("%s",infile); if((fp=fopen(infile,"w+"))==NULL) { printf("不好意思,小航无法帮您写入到文件里(;′⌒`)\n"); return; } n=0; flag=1; while(flag) { k=0; min=

47、10000; for(int j=0;j

48、])-1]); j++; } fprintf(fp,"%s 结束).\n",name[path[k][j-1]-1]); if(!fprintf(fp,"%s 结束).\n",name[path[k][j-1]-1])) { printf("抱歉,文件写入失败\n"); return; } //更新path和dist for(j=0;j

49、st[k]+G.arcs[k][j]; for(m=0;m

50、件中~\n"); fclose(fp); } void asked(Mgraph G,int v,char *intro[],char *name[]) { printf("%d号景点:%s\n",v,name[v-1]); printf("景点简介\n"); printf(" %s\n",intro[v-1]); printf("* *\n"); printf("该景点临近的景点有~:"); for(int k=0;k0&&G.arcs [v-1][k]<10000)

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服