欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    交通运输系统.doc

    • 资源ID:33514675       资源大小:61.50KB        全文页数:4页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    交通运输系统.doc

    如有侵权,请联系网站删除,仅供学习与交流交通运输系统【精品文档】第 4 页数据结构实验报告交通指南系统题目:假设以一个带权有向图表示某一区域的公交线路网,图中顶点代表一些区域中的重要站点,弧长代表已有的公交线路,弧上的权表示该线路上的票价(或搭乘所需时间),试设计一个交通指南系统,指导前来咨询者以最低的票价或最少的时间从区域中的某一站点到达另一站点。#include <iostream>using namespace std;struct ArcCellint adj; /存放弧长 bool *info; /是否用过该弧struct _MGraph char vexs20; /存放站点ArcCell arcs2020; /<i,j>int vexnum;int arcnum;typedef int Path202020; typedef int Distanc2020; class MGraph /没用私有成员public:_MGraph mgraph;/void DestroyGraph(); /析构函数销毁图int LocateVex (char u); / 返回顶点在图中的位置bool CreateDN(); /构造有向网void ShortestPath_FLOYD(Path &P,Distanc &D);bool MGraph:CreateDN()/构造有向网int i,j ,w;char v1, v2;cout<<"请输入站点个数,直接线路的条数: "cin>>mgraph.vexnum>>mgraph.arcnum ;cout<<"n请输入各站点名: "for(i = 0;i<mgraph.vexnum;i+)/构造顶点向量cin>>mgraph.vexsi;for(i = 0;i<mgraph.vexnum;i+)/初始化邻接矩阵for(j = 0;j<mgraph.vexnum;j+)if(i=j)mgraph.arcsij.adj = 0;elsemgraph.arcsij.adj = 20000; /infinity; mgraph.arcsij.info = false;for(i = 0;i<mgraph.arcnum;i+) /构造邻接矩阵cout<<"n请输入一条线路的起点,终点,距离(公里): "cin>>v1>>v2>>w;int m = LocateVex(v1);int n = LocateVex(v2);mgraph.arcsmn.adj = w; / <v1, v2>的权值return true; void MGraph:DestroyGraph()for(int i = 0 ;i<mgraph.vexnum;i+)for(int j = 0;j<mgraph.vexnum;j+)if(mgraph.arcsij.info)delete mgraph.arcsij.info;mgraph.arcsij.info = false;mgraph.vexnum = 0;mgraph.arcnum = 0;int MGraph:LocateVex(char u)for(int i = 0 ;i<20;i+)if(u = mgraph.vexsi)return i;return -1;void MGraph:ShortestPath_FLOYD(Path &P,Distanc &D)/求每对顶点间的最短路径/ 用Floyd算法求有向网G中各对顶点v和w之间的最短路径Pvw及其带权长度Dvw/ 若Pvwu为TRUE,则u是从v到w当前求得最短路径上的顶点。int u,v,w,i;for(v = 0;v<mgraph.vexnum;v+)for(w = 0;w<mgraph.vexnum;w+)Dvw = mgraph.arcsvw.adj;/ 顶点v到顶点w的直接距离for(u = 0;u<mgraph.vexnum;u+)Pvwu = false; /路径矩阵初值if(Dvw<20000) /从v到w有直接路径Pvwv = Pvww = true;/由v到w的路径经过v和w两点for(u = 0;u<mgraph.vexnum;u+)for(v = 0;v<mgraph.vexnum;v+)for(w = 0;w<mgraph.vexnum;w+)if(Dvu+Duw<Dvw)/从v经u到w的一条路径更短Dvw = Dvu+Duw;/ 更新最短距离for(i = 0;i<mgraph.vexnum;i+) Pvwi = Pvui|Puwi;/从v到w的路径经过从v到u和从u到w的所有路径void main()MGraph g;Path p; / 3维数组Distanc d; / 2维数组int s,t,k;char v1,v2;float sum=0;cout<<"n*欢迎使用交通查询系统*n"<<endl;g.CreateDN();cout<<"n请输入出发站、目的站:"cin>>v1>>v2;s=g.LocateVex (v1);t=g.LocateVex (v2); g.ShortestPath_FLOYD(p,d); if(s!=t) int a=s;cout<<"n由"<<g.mgraph.vexss<<"到"<<g.mgraph.vexst<<"途中经过:"for(k = 0;k<g.mgraph.vexnum;k+)if(pstk = 1)cout<<g.mgraph.vexsk<<" "sum=sum+g.mgraph.arcsak.adj;a=k;cout<<"最短线路总长:"<<sum<<"公里"cout<<"nn*祝您旅途愉快!*"<<endl;g.DestroyGraph();

    注意事项

    本文(交通运输系统.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开