欢迎来到天天文库
浏览记录
ID:61499169
大小:92.50 KB
页数:15页
时间:2021-02-07
《《数据结构》课程设计参考样例.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《数据结构》课程设计参考样例源程序下载题目:全国交通咨询一.设计目的通过实习,了解并初步掌握设计、实现较大系统的完整过程,包括系统分析、编码设计、系统集成、以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步的应用开发打好基础。二.问题描述设计、实现一个全国大城市间的交通咨询程序,为旅客提供三种最优决策方案:(1)时间最短(2)费用最小(3)中转次数最少。三.需求分析该程序所做的工作的是模拟全国交通咨询,为旅客提供三种最优决策的交通咨询。此程序规定:(1) 在程序中输入城市名称时,需输入10个字母以内的字母串;输入列车或飞机编号时需输入一个整型数据;输入
2、列车或飞机的费用时需输入一个实型数据;输入列车或飞机开始时间和到达时间时均需输入两个整型数据(以hh:mm的形式);在选择功能时,应输入与所选功能对应的一个整型数据。(2) 程序的输出信息主要是:最快需要多少时间才能到达,或最少需要多少旅费才能到达,或最少需要多少次中转到达,并详细说明依次于何时乘坐哪一趟列车或哪一次班机到何地。(3) 程序的功能包括:提供对城市信息的编辑,提供列车时刻表和飞机航班表的编辑,提供三种最优决策:最快到达、最省钱到达、最少中转次数到达。四.概要设计· 系统用到的抽象数据类型定义:1.ADTGraph{数据对象V:一个集合,该
3、集合中的所有元素具有相同的特性数据关系R:R={VR}VR={
4、P(x,y)^(x,y属于V)}基本操作:(1) initgraph(&G);(2) CreateGraph(&G);(3) EnterVertex(&G);(4) DeleteVertex(&G);(5) EnterplaneArc(&G);(6) DeleteplanArc(&G);(7) EntertrainArc(&G);(8) DeletetrainArc(&G);}ADTGraph2.ADTLinkQueue{数据元素
5、:可以是任意类型的数据,但必须属于同一个数据对象关系:队列中数据元素之间是线性关系。基本操作:(1) InitQueue(&Q);(2) IsEmpty(&Q);(3) EnterQueue(&Q,x);(4) DeleteQueue(&Q,&y);}ADTLinkQueue3.ADTTimeTree{数据对象D:一个集合,该集合中的所有元素具有相同的特性数据关系R:若D为空,则为空树。若D中仅含有一个数据元素,则R为空集,否则R={H},H为如下二元关系:(1)在D中存在唯一的称为根的数据元素root,它在关系H中没有前驱(2)除root以
6、外,D中每个结点在关系H下有且仅有一个前驱。基本操作:(1) CreateTimeTree(p,i,j,&Q,infolistarcs);(2) CopyTimeTree(p,q);(3) VisitTimeTree(p);}ADTTimeTree· 系统中子程序及功能要求:1.Administer(ALGraph*G):提供管理员管理城市交通系统的界面,通过该子程序可调用其他管理交通系统的子程序。2.initgraph(ALGraph*G):初始化交通系统的子程序3.createcityfile():创建城市文件的子程序4.create
7、planefile():创建航班文件的子程序5.createtrainfile():创建列车时刻表文件的子程序6.LocateVertex(ALGraph*G,char*v):提供城市名在城市交通系统中相应的编号7.CreateGraph(ALGraph*G):创建城市交通系统8.cityedit(ALGraph*G):提供城市编辑功能9.EnterVertex(ALGraph*G):提供在城市交通系统中加入城市的功能10.DeleteVertex(ALGraph*G):提供在城市交通系统中删除城市的功能11.flightedit(ALGraph*G):提供航班编辑功能12.Ent
8、erplaneArc(ALGraph*G):提供在城市交通系统中加入航班的功能13.DeleteplaneArc(ALGraph*G):提供在城市交通系统中删除航班的功能14:trainedit(ALGraph*G):提供列车车次的编辑功能15.EntertrainArc(ALGraph*G):提供在城市交通系统中加入列车车次的功能16.DeletetrainArc(ALGraph*G):提供在城市交通系统中删除列车车次的功能17.UserDemand(ALGraph
此文档下载收益归作者所有