欢迎来到天天文库
浏览记录
ID:30920700
大小:168.11 KB
页数:12页
时间:2019-01-04
《火车路线查询最短路径数据结构c》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、#include#include#includeusingnamespacestd;constintMAXVertices=20;constintMAXweight=6000;structVertex{stringcity;};classGraph{public:/*录入信/*添加信/*修改信八删除信/*显示信/*单个最短/*所有最短Graph();voidinput();息、*/voidadd();息、*/voidchange();息*/voiddel();息*/vo
2、idshow();息*/voidselect_pathl();路程查询*/voidselect_path2();路程查询勺private:intEdge[MAXVertices][MAXVertices];intnumE,numV;VertexVerticesfMAXVertices];};Graph::Graph()/*构造函数初始化*/{for(inti=O;i3、Vertices;j++){if(i==j)Edge[i][j]=O;elseEdgefi][j]=MAXweight;numE=O;numV=O;voidGraph::input()/*录入信息*/inti;intvi;intvj;int1;cout«"输入路径的条数:”;cin»numE;COUt«H输入站点个数:”;cin»numV;cout«"输入站点名称:"«endl;for(i=0;i4、){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;}voidGraph::add()/*添加信息*/inti;intvi;intvj;inti;intx,y;cout«"输入添加的路径的条数:”;cin»x;coutVV"输入添加的站点个数:”;cin»y;cout5、«n输入添加站点名称:”«endl;for(i=0;i6、添加成功!H«endl;}numE=x+numE;numV=y+numV;}voidGraph::change()/*修改信息*/{stringa;stringc;intb=0;chare;chard;intx;inty;intf;cout«H是否修改站点名字(Y/N)M«endl;cin»e;if(e==,y,){cout«n所有站点的名字:M«endl;for(intq=0;q7、修改的站点名字:”;cin»a;for(inti=O;i8、[x-l][y-l]!=MAXweight){cout«"请重新输入vi到vj距离:”vvendl;cin»f;Edge[x-l][y-l]=f;Edgefy-l][x-l]=f;coLit«"修改成功!"«endl;}elsecout«"不存在该路线!n«endl;voidGraph::del()/*
3、Vertices;j++){if(i==j)Edge[i][j]=O;elseEdgefi][j]=MAXweight;numE=O;numV=O;voidGraph::input()/*录入信息*/inti;intvi;intvj;int1;cout«"输入路径的条数:”;cin»numE;COUt«H输入站点个数:”;cin»numV;cout«"输入站点名称:"«endl;for(i=0;i4、){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;}voidGraph::add()/*添加信息*/inti;intvi;intvj;inti;intx,y;cout«"输入添加的路径的条数:”;cin»x;coutVV"输入添加的站点个数:”;cin»y;cout5、«n输入添加站点名称:”«endl;for(i=0;i6、添加成功!H«endl;}numE=x+numE;numV=y+numV;}voidGraph::change()/*修改信息*/{stringa;stringc;intb=0;chare;chard;intx;inty;intf;cout«H是否修改站点名字(Y/N)M«endl;cin»e;if(e==,y,){cout«n所有站点的名字:M«endl;for(intq=0;q7、修改的站点名字:”;cin»a;for(inti=O;i8、[x-l][y-l]!=MAXweight){cout«"请重新输入vi到vj距离:”vvendl;cin»f;Edge[x-l][y-l]=f;Edgefy-l][x-l]=f;coLit«"修改成功!"«endl;}elsecout«"不存在该路线!n«endl;voidGraph::del()/*
4、){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;}voidGraph::add()/*添加信息*/inti;intvi;intvj;inti;intx,y;cout«"输入添加的路径的条数:”;cin»x;coutVV"输入添加的站点个数:”;cin»y;cout
5、«n输入添加站点名称:”«endl;for(i=0;i6、添加成功!H«endl;}numE=x+numE;numV=y+numV;}voidGraph::change()/*修改信息*/{stringa;stringc;intb=0;chare;chard;intx;inty;intf;cout«H是否修改站点名字(Y/N)M«endl;cin»e;if(e==,y,){cout«n所有站点的名字:M«endl;for(intq=0;q7、修改的站点名字:”;cin»a;for(inti=O;i8、[x-l][y-l]!=MAXweight){cout«"请重新输入vi到vj距离:”vvendl;cin»f;Edge[x-l][y-l]=f;Edgefy-l][x-l]=f;coLit«"修改成功!"«endl;}elsecout«"不存在该路线!n«endl;voidGraph::del()/*
6、添加成功!H«endl;}numE=x+numE;numV=y+numV;}voidGraph::change()/*修改信息*/{stringa;stringc;intb=0;chare;chard;intx;inty;intf;cout«H是否修改站点名字(Y/N)M«endl;cin»e;if(e==,y,){cout«n所有站点的名字:M«endl;for(intq=0;q7、修改的站点名字:”;cin»a;for(inti=O;i8、[x-l][y-l]!=MAXweight){cout«"请重新输入vi到vj距离:”vvendl;cin»f;Edge[x-l][y-l]=f;Edgefy-l][x-l]=f;coLit«"修改成功!"«endl;}elsecout«"不存在该路线!n«endl;voidGraph::del()/*
7、修改的站点名字:”;cin»a;for(inti=O;i8、[x-l][y-l]!=MAXweight){cout«"请重新输入vi到vj距离:”vvendl;cin»f;Edge[x-l][y-l]=f;Edgefy-l][x-l]=f;coLit«"修改成功!"«endl;}elsecout«"不存在该路线!n«endl;voidGraph::del()/*
8、[x-l][y-l]!=MAXweight){cout«"请重新输入vi到vj距离:”vvendl;cin»f;Edge[x-l][y-l]=f;Edgefy-l][x-l]=f;coLit«"修改成功!"«endl;}elsecout«"不存在该路线!n«endl;voidGraph::del()/*
此文档下载收益归作者所有