火车路线查询最短路径数据结构C.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
火车路线查询最短路径数据结构C.doc

includeiostream #include string includeiomanip using namespace std; const int MAXVertices = 20; const int MAXweight = 6000; struct Vertex { string city; }; class Graph { public: /*录入信 /*录入信 /*添加信 /*修改信 八删除信 /*显示信 /*单个最短 /*所有最短 void input(); 息、*/ void add(); 息、*/ void change(); 息*/ void del(); 息*/ void show(); 息*/ void select_pathl(); 路程查询*/ void select_path2(); 路程查询勺 private: int Edge[M AX Vertices] [MAXVertices]; int numE,numV; Vertex VerticesfM AX Vertices]; }; Graph: :Graph()/*构造函数初始化*/ { for(int i=O;iMAXVertices;i++) Vertices[i].city=O; for(i=0;iMAXVertices;i++) for(int j=O;jMAXVertices;j++) { if(i==j) Edge[i][j]=O; else Edgefi] [j]=M AX weight; numE=O; numV=O; void Graph::input()/*录入信息*/ int i; int vi; int vj; int 1; cout?输入路径的条数:”; cin? numE; COUt?H输入站点个数:”; cin?numV; cout?输入站点名称:?endl; for(i=0;inumV;i++) { cout?i+lvv:; cin?Verticesfi].city; for(i=0;inumE;i++) { cout?H输入站点i到站点j的路径的长度(i,j:站点前的序号):H?endl; cout?站点 i: cin?vi; cout?站点j: cin?vj; cout?n路径长度(千米):”; cin?l; Edge[vi-l][vj-l]=l; Edge[vj-l][vi-l]=l; } cout?录入完成 M?endl; } void Graph::add()/*添加信息*/ int i; int vi; int vj; inti; int x,y; cout?输入添加的路径的条数:”; cin?x; coutVV 输入添加的站点个数:”; cin?y; cout?n输入添加站点名称:” ?endl; for(i=0;iy;i++) { cout?numV+i+1 vv ” : ” ; cin?Vertices[numV+i].city; cout?H 添加成功!M?endl; } for(i=0;ix;i++) { coutvv“输入站点i到站点j的路径的长度(i,j:站点前的序号):,r?endl; cout?站点 i: ”; cin?vi; cout?站点j: ”; cin?vj; cout?n路径长度(千米):”; cin?l; Edge[vi-1 ] [vj-11=1; Edge[vj-l][vi-l]=l; cout?添加成功! H?endl; } numE=x+numE; numV=y+numV; } void Graph::change()/*修改信息*/ { string a; string c; int b=0; char e; char d; int x; inty; int f; cout?H是否修改站点名字(Y/N)M?endl; cin?e; if(e==,y,) { cout?n所有站点的名字:M?endl; for(int q=0;qnumV;q++) cout?setw(4)?q+l?,l.,,Vertices[q].city; } cout?endl; cout?n请输入要修改的站点名字:”; cin?a; for(int i=O;inumV;i++) if(Vertices[i].city==a) { cout?n请重新输入站点名字:”; cin?c; Verticesfi].city=c; b++; cout?修改成功!?endl; } if(b=O) cout?不存在该站点! vvendl; } cout?H是否修改站点距离(Y/N)M?endl; cin?d; if(d=y) { cout?n请输入要修改路线的站点序号vi:”; cin?x; cout

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档