二话不说,先上一张青岛地铁交通图。
我是个在青岛上大学的计算机专业的大二学生,有一次我在烟台的朋友和他的女朋友坐高铁过来找我玩,他在青岛北站下高铁。
我从青岛二中站上车,准备去青岛北站接他,去接他前我已经知道了青岛地铁3号线的一端是青岛站,另一端是青岛北站,于是我选择了相信自己,而不是高德地图。
从上面那个地铁交通图中也能看出来,想要到三号线上去要先换乘到2号线,再换乘到3号线,到了苗岭路站,走到2号线的站台,看着安全门上方的一维交通图,我看到了两个可以换乘到3号线的换乘站,分别是五四广场和李村,并且两个换乘站距离苗岭路差不多,开往五四广场方向的列车先到了,我想都没想就上去了。等真的到了五四广场,哭都来不及呀。五四广场开往青岛北站,也要经过李村!!!并且李村距离青岛北站只隔着3站,而五四广场距离青岛北站整整隔着14站!!!
于是,原本一个小时就能到青岛北站的,却用了两个多小时,白白让朋友和他的女朋友等了我很长一段时间。
我决定,决不能让这种悲剧重演。。。。。。这个学期学了数据结构,就想着用图的知识和C/C++来解决我的问题。
首先,将实际的站点信息抽象成一个结构体数组,将实际站点与数组中的元素一一对接起来。
初始化这个结构体数组:
//站点信息
struct
{
int id;
int line;
int istransfer;
char staname[16];
}sta[63]=
{
{1,3,0,"青岛北站"},
{2,3,0,"永平路"},
{3,3,0,"振华路"},
{4,3,0,"君峰路"},
{5,3,1,"李村"},
{6,3,0,"万年泉路"},
{7,3,0,"海游路"},
{8,3,0,"地铁大厦"},
{9,3,0,"长沙路"},
{10,3,0,"双山"},
{11,3,0,"清江路"},
{12,3,0,"错埠岭"},
{13,3,0,"敦化路"},
{14,3,0,"宁夏路"