利用邻接表存储城市信息与线路信息,比邻接矩阵更加高效。
主要数据结构I)Time,规范时间的输入输出格式
II)VNode,头结点,用于建立顶点表,存储城市信息
III)ArcNode,表结点,用于建立边表,存储弧指向的城市信息,以及线路信息
IV)InfoType,存储线路信息
V)priority queue,优先队列,用于优化 Dijkstra 算法时的插入结点以及取出到达对应点的最小权值
主要功能及简介1. 查询城市编号:头结点建立顶点表时存储的是城市对应的序号
2. 手动添加城市
3. 从文件读取以添加城市
4. 删除城市:删除城市时需要删除与该城市相关的所有线路
5. 输出所有城市
10. 更新城市列表:当新建城市个数加原本已存在城市个数大于 MAXSIZE 时,需要开辟空间存储新城市并 ++MAXSIZE
7. 手动添加线路
8. 插入线路:由于线路信息存于表结点里,所以需要新建表结点并加入对应起始城市的边表
9. 从文件中读取线路
10. 删除线路
11. 求最少花费路径
12. 求最少时间路径
截图放在了 github 链接里: https://github.com/bw98/National-Transport-Advisory
来源: http://www.bubuko.com/infodetail-2450931.html