课题:全国交通咨询模拟学院:计算机科学与技术专业:通信工程班级:0903学号:2009115020322学生姓名:指导教师:数据结构课程设计一、题目分析1
【问题描述】处于对不同目的的旅客对交通工具有不同的要求
例如,因公出差的旅客希望在旅途中的时间尽可能的短,出门旅游的游客则希望旅费尽可能的省,而老年旅客则要求中转次数最少
编制一个全国城市间的交通咨询程序,为旅客提供两到三种最优决策的交通咨询
【基本要求】(1)提供对城市信息进行编辑(添加、删除)的功能
(2)城市之间有两种工具:火车和飞机
提供对列车时刻表和飞机航班表的编辑
(3)提供两种最优决策:最快到达或最省钱到达
全程只考虑一种交通工具
(4)旅途中耗费的总时间应该包括中转站的等候时间
(5)咨询以用户和计算机的对话方式进行
由用户输入起始站、终点站、最优决策原则和交通工具
输出信息:最快需要多长时间才能到达或者最少需要多少旅费才能到达,并详细说明依次于何时乘坐哪一趟列车或哪一次班机到何地
二、概要设计1
【抽象数据类型】本程序运用了图这种数据结构,并以邻接表作交通图的存储结构
数据对象V:V是具有相同特性的数据元素的集合,称为顶点集
数据关系R:R={VR}VR={|v,wV∈且P(v,w),表示从v到w的弧
谓词P(v,w)定义了弧的意义或信息}基本操作:AdjInitiate(&G)初始化邻接表AdjDestroy(&G)撤销邻接表InsertVertex(&G,i,&a)插入结点DeleteVertex(&G,i)删除结点InsertEdge()插入边DeleteEdge()删除边GetFirstVex()取第一个邻接结点GetNextVex()取下一个邻接结点CreatGraph()创建图邻接表的存储结构typedefstructNode{intdest;structNode*next;intt_t