• 全国交通咨询系统 by C++ on Linux


    信息存储


      利用邻接表存储城市信息与线路信息,比邻接矩阵更加高效。

    主要数据结构


      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.求最少时间路径

    核心算法分析


      如果想理解我代码中的核心算法部分,推荐看一下我的博客,博文里有本项目运用 dijkstra 算法的分析。博文链接:dijkstra 最小路径算法

    截图


    代码


      放在了github链接里:https://github.com/bw98/National-Transport-Advisory

    ————全心全意投入,拒绝画地为牢
  • 相关阅读:
    文件操作与函数
    编码格式
    if、while、for快速掌握
    运算符、数据类型、数据结构
    正则表达式
    面向对象--属性
    面向对象--对象的创建
    函数的内置属性
    类型检查
    函数表达式 及 闭包
  • 原文地址:https://www.cnblogs.com/Bw98blogs/p/8203520.html
Copyright © 2020-2023  润新知