北京工业大学2014数据结构课设北京地铁查询C++版
- 格式:doc
- 大小:158.50 KB
- 文档页数:16
北京理工大学2014-2015学年数据结构期末考试卷北京理工大学2014-2015学年第一学期《数据结构》期末考试试题(A)一、选择题(24分)1,下面关于线性表的叙述错误的是()。
(A)线性表采用顺序存储必须占用一片连续的存储空间(B)线性表采用链式存储不必占用一片连续的存储空间(C)线性表采用链式存储便于插入和删除操作的实现(D)线性表采用顺序存储便于插入和删除操作的实现2,设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有()个空指针域。
(A)2m-1(B)2m(C)2m+1(D)4m3,设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为()(A)R-F(B)F-R(C)(R-F+M)%M(D)(F-R+M)%M4,设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为()。
(A)BADC(B)BCDA(C)CDAB(D)CBDA5,设某完全无向图中有n个顶点,则该完全无向图中有()条边。
(A)n(n-1)/2(B)n(n-1)(C)n2(D)n2-1,6,设某棵二叉树中有2000个结点,则该二叉树的最小高度为()(А)9(B)10(C)11(D)127,设某有向图中有n个顶点,则该有向图对应的邻接表中有()个表头结点。
(A)n-1(B)n(C)n+1(D)2n-18,设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为()。
(A)2,3,5,8,6(B)3,2,5,8,6(C)3,2,5,6,8(D)2,3,6,5,8二、填空题(24 分)1,为了能有效地应用HASH查找技术,必须解决的两个问题是________________和________________________。
目录一、地铁计价系统的实现 (1)1.设计目的 (1)2.设计内容 (1)3.实验步骤 (2)4.部分代码附录 (6)5.实验结果和结论 (18)指导教师意见 (19)一、地铁计价系统的实现1.设计目的1)掌握dijkstra算法的思想;2)掌握javascript数据类型之javascript对象;3)采用模块化的思想编写程序;4)学会用浏览器的调试功能检查代码;5)掌握整个网页设计过程元素调用的问题,可以将各个元素正确调用;6)学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力;7)为后续计算机课程的学习打下坚实基础;2.设计内容本次设计基于html+css+javascript设计了一款网页端的地铁计价系统,通过使用javascript对象存储数据,js调用数据和计算,html,css美化前端样式,js实现交互功能等,实现了一个完整的,实用的网页端地铁计价系统。
3.实验步骤1)整体架构网页前端index.html由HTML编写,用一个subway-out的大容器承载全部元素,然后将这个容器细分为三大块,也就是使用三个form表单,分别实现起始线路与站点选择,终点线路与站点选择,提交按钮、票价显示和路程显示;HTML美化通过bootstrap和jquery实现,这里不再赘述。
前端交互,线路存储,票价计算及输出等由station.js实现。
2)station.js结构线路数据通过一个stationData变量实现,这个变量中存储了1~15号线路的全部站点,并且通过stationData[ ]进行访问。
站点间距离数据通过chartData存储,这个变量中按照类似二维数组的格式存储相邻站点间距离,并且在station.js文件调用时通过dijkstra.addEdges(chartData)初始化到dijkstra算法中。
函数getStartStation和getEndStation用于获取用户选择线路完毕后获取选项option的value值,根据value值向二级select元素中添加stationData线路数据。
大题共4小题,每小题5分。
共20分)
请在答题卡上作答。
26.设Q是有N个存储空间的循环队列,初始状态front=rear=0,约定指针rear指向的单元始终为空,回答下列问题。
请根据最优二叉树的基本原理,采用类C语言,描述你所设计的成绩判定过程。
29.给定有向无环图G如题29图所示,写出G的5种不同的拓扑排序序列。
的单链表定义如下,其中freq域记录本结点被访问的次数,初值为0,单链表始终以freq 序。
函数f3l完成的功能是:查找给定关键字所在结点,若查找成功,则该结点的freq域加值调整结r旨位置。
请将空白处(1)~(3)补充完整。
在答题卡上作答。
回答下列问题。
五、算法设计题(本大题共l小题,共“l0分) 请在答题卡上作答。
34.已知带头结点的单链表类型定义如下:
- 10 -。
《数据结构》课程设计说明2010.1常州工学院计算机信息工程学院《数据结构》课程设计报告题目公交路线上优化路径的查询年级2008级专业软件工程学生学号08030334(组长)学生学号08030337指导教师王树峰2010年01 月11 日常州工学院计算机信息工程学院《数据结构》课程设计任务书设计名称:公交线路上优化路径的查询指导教师:王树峰下达时间:2010-01-11 学生姓名:XXX (组长)学号:XXXXXXXXX学生姓名:XXXX 学号:XXXXXXXX 专业:软件工程一、课程设计的基本要求①根据上述公交线路的输入格式,定义并建立合适的图模型。
②针对上述公交线路,能查询获得任何两个站点之间最便宜的路径,即输入站名S,T后,可以输出从S到T的最便宜的路径,输出格式为:线路x:站名S,…,站名M1;换乘线路x:站名M1,…,站名M2;…;换乘线路x:站名MK,…,站名T。
共花费x元。
③针对上述公交线路,能查询获得任何两个站点之间最省时间的路径(不考虑在中间站等下一辆线路的等待时间),即输入站名S,T后,可以输出从S 到T的考虑在中间站等下一辆线路的等待时间的最省时间的路径,输出格式为:线路x:站名S,…,站名M1;换乘线路x:站名M1,…,站名M2;…;换乘线路x:站名MK,…,站名T。
共花费x时间。
④针对上述公交线路,能查询获得任何两个站点之间最省时间的路径(要考虑在中间站等下一辆线路的等待时间),即输入站名S,T后,可以输出从S 到T的考虑在中间站等下一辆线路的等待时间的最省时间的路径,输出格式为:线路x:站名S,…,站名M1;换乘线路x:站名M1,…,站名M2;…;换乘线路x:站名MK,…,站名T。
共花费x时间。
二、课程设计的主要内容(包含分工)主要内容:首先将多有要用到的结构体全部定义完全,在课程设计的进程安排1.2010年01月10日之前:完成所有要用到的结构体的定义。
2.2010年01月11日——01月12日:完成建立合适的图模型以及信息的初始化。
上机文件之二:数据库系统原理”课程实验指导书( A Guide for Practicein Principles of Database Systems)北京工业大学计算机学院( 2007. 4. 1 )Contents第一部分数据库设计( Database Design)、问题描述( Describe Problem)、概念模型设计( Design of Conceptual schema)三、数据库逻辑设计( Design of Logic Database)第二部分数据库实施与应用( Implementation and Application of Database)实验一: 数据库实施:创建数据库及其对象(Implementation of Database: CreateDatabase and its Objects)实验二:数据的增删改(Insert , Delete and Update)实验三: 数据库查询(Query )实验四: 创建和删除视图(Create and Drop Views)第三部分上机报告与上机考核(Report and Check)、上机报告内容( Report Content)、上机考核( Check)备注第一部分 数据库设计Database Design数据库设计包括以下内容:一、问题描述。
(1)(2)(3)(4)(5)(6)(7)(8)(9) 注意:鼓励另选有意义、有深度的其它实际问题。
2 .问题描述要点:(1)用自然语言描述问题。
对一个问题的所有描述将是今后设计、实施数据库的依据。
(2)全面、细致地描述问题。
包括问题域界定的客观对象,对象属性,对象之间的联系, 对象约束,等。
(3)设定应用需求。
例如,可以设定用户将从数据库中进行哪些查询?打印哪些报表?进 行哪些数据库更新操作?等等。
二、概念模型设计。
给出设计的 E-R 图表示。
E-R 图上只画出实体集的主码属性,其余属性 由数据字典列出。
一、选择题1. 算法的计算量的大小称为计算的( B )。
【北京邮电大学2000 二、3 (20/8分)】A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于(C )【中科院计算所 1998 二、1 (2分)】A.问题的规模 B. 待处理数据的初态 C. A和B3.计算机算法指的是(1),它必须具备(2)这三个特性。
(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性【南京理工大学 1999 一、1(2分)【武汉交通科技大学 1996 一、1( 4分)】4.一个算法应该是()。
【中山大学 1998 二、1(2分)】A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和C.5. 下面关于算法说法错误的是()【南京理工大学 2000 一、1(1.5分)】A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6. 下面说法错误的是()【南京理工大学 2000 一、2 (1.5分)】(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低A.(1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据结构分为()两大类。
【武汉交通科技大学 1996 一、4(2分)】A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是()。
【北方交通大学 2000 二、1(2分)】A.循环队列 B. 链表 C. 哈希表 D. 栈9.以下数据结构中,哪一个是线性结构()?【北方交通大学 2001 一、1(2分)】A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串10.以下那一个术语与数据的存储结构无关?()【北方交通大学 2001 一、2(2分)】A.栈 B. 哈希表 C. 线索树 D. 双向链表11.在下面的程序段中,对x的赋值语句的频度为()【北京工商大学 2001 一、10(3分)】FOR i:=1 TO n DOFOR j:=1 TO n DOx:=x+1;A. O(2n) B.O(n) C.O(n2) D.O(log2n)12.程序段 FOR i:=n-1 DOWNTO 1 DOFOR j:=1 TO i DOIF A[j]>A[j+1]THEN A[j]与A[j+1]对换;其中 n为正整数,则最后一行的语句频度在最坏情况下是()A. O(n)B. O(nlogn)C. O(n3)D. O(n2) 【南京理工大学1998一、1(2分)】13.以下哪个数据结构不是多型数据类型()【中山大学 1999 一、3(1分)】A.栈 B.广义表 C.有向图 D.字符串14.以下数据结构中,()是非线性数据结构【中山大学 1999 一、4】A.树 B.字符串 C.队 D.栈15. 下列数据中,()是非线性数据结构。
2014年北京工业大学微型计算机原理控制工程复试试题专业姓名一、判断并陈述理由题(不陈述理由不计分)(1分×10=10分):1、8086CPU的最小方式是为实现多处理器系统而设计的。
()2、在8086CPU构成的微机系统中,数据可以存放在几个不连续的段中。
()3、DMA方式不能实现内存与接口之间数据的直接交换。
()4、8086 的可屏蔽中断不受IF标志位的影响,但需要从数据线上读取中断类型码。
()5、构成一个最小8086 CPU的微机系统只需8086、8282、8286就够了。
()6、8086CPU的Ready信号是由外部硬件产生的。
()7、8086复位时,(CS)=FFFFH,(IP)=0000H,所以8086在复位后重新启动时,便从内存的FFFF0H单元开始执行指令,使得系统在启动时自动进入系统程序。
()8、中断类型码乘以4,就可以得到中断服务程序入口地址。
()9、多个外设可以通过一条中断请求线向CPU发中断请求。
()10、8251是可编程并行通信接口芯片而8255是可编程串行通信接口芯片。
()二、选择题(1分×10=10分)1、二进制数 10010110.10B 的十进制数值可表示为()A、 96.8B、 150.5C、 96.5D、 160.52、RAM 6116芯片有2K×8位的容量,它的片内地址选择线和数据线分别是()A、A0~A15和D0~D15B、A0~A10和D0~D7C、A0~A11和D0~D7D、A0~A11和D0~D153、8086 CPU在响应中断时顺序将()内容压入堆栈。
A、CS.IP.PSWB、IP.CS.PSWC、PSW.CS.IPD、PSW.IP.CS4、8086能够访问的存储空间的大小是()。
A. 64kB.1MC. 256D.16M5、8253 是可编程定时、计数器芯片,它内部有()。
A、三个定时器B、四个定时器C、二个计数器D、四个计数器6、相邻段地址之间的最小距离为()A、16个字节B、64K字节C、1K字节D、256字节7、8086 CPU的NMI引脚上输入的信号是()A、可屏蔽中断请求B、非屏蔽中断请求C、中断相应D、总线请求8、8086 CPU在()时刻采样READY信号决定是否插入等待周期。
2014年北京工业大学计算机学院数据结构与算法课设嗨,你好。
当年为了这个该死的课设我也是和你一样急,在CSDN上各种找……但是没有。
最后还好……弄出来了。
C++版本题目什么的在下面,附件什么的我都在这个DOC中给你。
祝你能过。
2014.11.01数据结构与算法课程设计报告北京地铁查询系统学号: 12 07 01姓名:哈哈指导教师:呵呵2014年10月1.1设计的描述当今的北京,地铁已经成为绝大多数人出行的首选。
截至2014年1月,北京地铁共有17条运营线路。
组成覆盖北京市11个市辖区,拥有231座运营车站、总长467千米运营线路的轨道交通系统,工作日均客流约1000万人次,峰值日客运量1155.92万人次。
随着地铁线路的增加,地铁规模越来越大,人们愈发的感觉到地铁的便利。
特别地从出发地到目的地的乘车方案的选择也越来越多。
因此,需要提供一个软件能够为人们提供出发到目的地之间“最快”或“最方便”的地铁出行方案。
其中,“最快”指用时最少,“最方便”则指在换乘车少的基础上用时最少。
1.2设计的需求请设计一个地铁出行帮助系统,为北京市居民提供地铁出行方案(仅限地铁出行)。
提供出发地和目的地地铁站的输入窗口,提供出行建议,并图形显示出线路。
出行建议信息:•出发站,站名,几号线•第2站,站名,几号线•…•第i站,站名,几号线•…•[换乘站,站名,换乘几号线]* 1,•第m站,站名,几号线•目的站,站名,几号线•总用时,X分钟,换乘次数:N1.2.1输入数据要求地铁线路基础信息数据通过一个名为“BaseInfo.txt”的文本文件读入。
该数据文件格式如下:•第0行:当前系统中地铁线路的条数n(n > 0)•第1行:第1条地铁线路名称(如:1号线),第1站(如:四惠东站),图上坐标(如:X1,Y1)2,运行时间(如:3),第2站(如:四惠站),图上坐标(如:X2,Y2),运行时间(如:4),…,第23站(如:苹果园站),图上坐标(如:X n,Y n)•…•第i行:第i条地铁线路名称, 第1站,运行时间,第2站,运行时间,…,第n站•…•第n行:第n条地铁线路名称, 第1站,运行时间,第2站,运行时间,…,第n站•第n+1行:换乘站数目m(m > 0)•换乘编号1#:换乘站名称1(如:四惠东站),(下车线路(如:1号线),1*表示可能有若干次换乘,也可能没有换乘。
每次换乘的信息为(换乘站,站名,换乘几号线)2坐标根据采用的地铁图中的相对位置来给出(由同学自己根据所选地铁图大小进行设置)换乘线路(如:八通线),换乘时间3(如:5))+4•…•换乘编号i#:换乘站名称i,下车线路,换乘线路,换乘时间•…•换乘编号m#:换乘站名称m,下车线路,换乘线路,换乘时间用户查询信息通过图形界面的对话框提供:包括起始站,目的站的输入框。
1.2.2输出画面的要求用图形方式显示北京市地铁图,并根据客户的输入提供建议(文字展示)并以加粗的两端带红点的绿色线路形式绘制在地铁图上。
1.2.3题目约定●题目中的时间单位为分钟;●地铁一般一站运行时间3分钟,个别长的站为5分钟。
●最短距离以所用时间表示1.2.4题目实现要求●应用最短路径算法,求任意两站间的“最快”,“最方便”的出行方案。
特别需要注意换乘站的处理。
5.0代码清单#include<iostream>#include<fstream>#include<string>#include<vector>using namespace std;typedef struct ArcNode{int adjvex;string line;int time;struct ArcNode *nextarc;}ArcNode;3换乘时间以分钟为单位4相同的换乘站可以换乘不同的地铁线路,比如西直门换乘站。
typedef struct VNode{string station;int cost;string path;string from;ArcNode *firstarc;}VNode;typedef struct Transfer{string from;string to;int time;struct Transfer *nextarc;}Transfer;typedef struct TransferStation{string station;Transfer *firstarc;}TransferStation;void split(const string&, const string&, vector<string>&); int findIndex(vector<VNode>, string);int findIndex(vector<int>, int);int findTransferTime(string, string, string);void initialize();string findOptimalPath(string, string, int&);vector<VNode> AdjList;vector<TransferStation> TransferInfo;void main(){initialize();int cost;string start,des;cout<<"欢迎使用\n";cout<<"输入起点站:";cin>>start;cout<<"输入终点站:";cin>>des;string s = findOptimalPath(start, des, cost);cout<<"线路为:";cout<<s.c_str()<<endl;cout<<"耗时"<<cost<<"分钟\n"<<endl;int x;cin>>x;}void initialize(){ifstream in("BaseInfo.txt"); //读入文件string s;int linesNum;string line;vector<string> v;int time;VNode *vn;ArcNode *an;Transfer *t;TransferStation *ts;int i, index, startIndex;int index1, index2;getline(in, s);linesNum = atoi(s.c_str());getline(in, s);split(s, ",", v);line = v[0];vn = new VNode();vn->station = v[1];vn->cost = 10000;vn->path = "";vn->from = "";vn->firstarc = NULL;AdjList.push_back(*vn);for(i=2; i<v.size()-1; i=i+2){time = atoi(v[i].c_str());index = AdjList.size();an = new ArcNode();an->line = line;an->adjvex = index;an->time = time;an->nextarc = vn->firstarc; //前插法AdjList[i/2-1].firstarc = an;an = new ArcNode();an->line = line;an->adjvex = index - 1;an->time = time;an->nextarc = NULL;vn = new VNode();vn->station = v[i+1];vn->cost = 10000;vn->path = "";vn->from = "";vn->firstarc = an;AdjList.push_back(*vn);}if(i == v.size()-1){time = atoi(v[i].c_str());an = new ArcNode();an->line = line;an->adjvex = 0;an->time = time;an->nextarc = vn->firstarc;AdjList.back().firstarc = an;an = new ArcNode();an->line = line;an->adjvex = index;an->time = time;an->nextarc = AdjList[0].firstarc;AdjList[0].firstarc = an;}while(linesNum-- > 1){getline(in, s);v.clear();split(s, ",", v);line = v[0];index1 = findIndex(AdjList, v[1]);if(index1 == -1){vn = new VNode();vn->station = v[1];vn->cost = 10000;vn->from = "";vn->path = "";vn->firstarc = NULL;AdjList.push_back(*vn);index1 = AdjList.size() - 1;}startIndex = index1;for(i=2; i<v.size()-1; i=i+2){time = atoi(v[i].c_str());index2 = findIndex(AdjList, v[i+1]);if(index2 == -1){vn = new VNode();vn->station = v[i+1];vn->cost = 10000;vn->from = "";vn->path = "";vn->firstarc = NULL;AdjList.push_back(*vn);index2 = AdjList.size() - 1;}an = new ArcNode();an->line = line;an->adjvex = index1;an->time = time;an->nextarc =AdjList[index2].firstarc; //前插法AdjList[index2].firstarc = an;an = new ArcNode();an->line = line;an->adjvex = index2;an->time = time;an->nextarc = AdjList[index1].firstarc;AdjList[index1].firstarc = an;index1 = index2;}if(i == v.size()-1){time = atoi(v[i].c_str());an = new ArcNode();an->line = line;an->adjvex = startIndex;an->time = time;an->nextarc = vn->firstarc;AdjList[index1].firstarc = an;an = new ArcNode();an->line = line;an->adjvex = index1;an->time = time;an->nextarc = AdjList[startIndex].firstarc;AdjList[startIndex].firstarc = an;}}getline(in, s);linesNum = atoi(s.c_str());while (linesNum-- > 0){getline(in, s);v.clear();split(s, ",", v);ts = new TransferStation();ts->station = v[1];ts->firstarc = NULL;for(i=2; i<v.size(); i=i+3){t = new Transfer();t->from = v[i];t->to = v[i+1];t->time = atoi(v[i+2].c_str());t->nextarc = ts->firstarc;ts->firstarc = t;}TransferInfo.push_back(*ts);}}void split(const string& src, const string& separator, vector<string>& dest) {string str = src;string substring;string::size_type start = 0, index;do{index = str.find_first_of(separator,start);if (index != string::npos){substring = str.substr(start,index-start);dest.push_back(substring);start = str.find_first_not_of(separator,index);if (start == string::npos) return;}}while(index != string::npos);substring = str.substr(start);dest.push_back(substring);}int findIndex(vector<VNode> v, string station){int i = v.size() - 1;while(i >= 0 && strcmp(v[i].station.c_str(), station.c_str()) != 0){i--;}return i;}int findIndex(vector<int> v, int index){int i = v.size() - 1;while(i >= 0 && v[i] != index){i--;}return i;}int findTransferTime(string station, string from, string to){int time = 5;for(int i=0; i<TransferInfo.size(); i++){if(strcmp(TransferInfo[i].station.c_str(), station.c_str()) == 0){Transfer *t = TransferInfo[i].firstarc;while(t){if(t->from == from && t->to == to){time = t->time;break;}t = t->nextarc;}break;}}return time;}string findOptimalPath(string source, string destination, int& cost) //Dijkstra算法{int sourceIndex, destinationIndex;vector<int> S;int minStationIndex = -1;int minTime;int foreIndex;string from, line;ArcNode *an, *an0;int time, time0=10000;string path0 = "";int i;sourceIndex = findIndex(AdjList, source);destinationIndex = findIndex(AdjList, destination);if(sourceIndex==-1 || destinationIndex==-1){return "ERROR";}AdjList[sourceIndex].cost = 0;AdjList[sourceIndex].path = source;S.push_back(sourceIndex);while(minStationIndex != destinationIndex){minTime = 10000;for(i=0; i<S.size(); i++){an = AdjList[S[i]].firstarc;while(an){if(AdjList[an->adjvex].cost == 10000){time0 = 10000;if(S[i] == sourceIndex){if(an->time < minTime){line = an->line;minTime = an->time;minStationIndex = an->adjvex;foreIndex = S[i];from = line;AdjList[sourceIndex].from = line;path0 = "";}}else{if(AdjList[S[i]].from == an->line){time = AdjList[S[i]].cost + an->time;if(time < minTime){line = an->line;minTime = time;minStationIndex = an->adjvex;foreIndex = S[i];from = line;path0 = "";}}else{time = AdjList[S[i]].cost +findTransferTime(AdjList[S[i]].station, AdjList[S[i]].from, an->line) + an->time;an0 = AdjList[S[i]].firstarc;while(an0){if(an0->line == an->line && an0->adjvex !=an->adjvex){break;}an0 = an0->nextarc;}if(an0 != NULL && AdjList[an0->adjvex].cost != 10000){time0 = AdjList[an0->adjvex].cost + an0->time + an->time;if(AdjList[an0->adjvex].from != an->line){time0 +=findTransferTime(AdjList[an0->adjvex].station, AdjList[an0->adjvex].from,an->line);}if(time > time0){time = time0;}}if(time < minTime){line = an->line;minTime = time;minStationIndex = an->adjvex;foreIndex = S[i];from = line;if(time == time0){if(AdjList[an0->adjvex].from == line){path0 = AdjList[an0->adjvex].path + "," + line + "," + AdjList[S[i]].station + "," + line + "," +AdjList[minStationIndex].station;}else{path0 = AdjList[an0->adjvex].path + "," + line + "," + AdjList[S[i]].station + "," + line + "," +AdjList[minStationIndex].station;}}}}}}an = an->nextarc;}}S.push_back(minStationIndex);AdjList[minStationIndex].cost = minTime;AdjList[minStationIndex].from = from;if(path0 != ""){AdjList[minStationIndex].path = path0;}else{AdjList[minStationIndex].path = AdjList[foreIndex].path + "," + line + "," + AdjList[minStationIndex].station;}}AdjList[destinationIndex].path += "," + line;cost = AdjList[destinationIndex].cost;return AdjList[destinationIndex].path;}6.0课程感想附页:代码所需txt名称:BaseInfo.txt内容:以下内容直接复制粘贴,一个也别删!包括数字91号线,四惠东,3,四惠,3,大望路,3,国贸,3,永安里,3,建国门,3,东单,3,王府井,3,天安门东,3,天安门西,3,西单,3,复兴门,3,南礼士路,3,木樨地,3,军事博物馆,3,公主坟,3,万寿路,3,五棵松,3,玉泉路,3,八宝山,3,八角游乐园,3,古城,3,苹果园2号线,西直门,3,车公庄,3,阜成门,3,复兴门,3,长椿街,3,宣武门,3,和平门,3,前门,3,崇文门,3,北京站,3,建国门,3,朝阳门,3,东四十条,3,东直门,3,雍和宫,3,安定门,3,鼓楼大街,3,积水潭,34号线,天宫院,3,生物医药基地,3,义和庄,3,黄村火车站,3,黄村西大街,3,清源路,3,枣园,3,高米店南,3,高米店北,3,西红门,3,新宫,3,公益西桥,3,角门西,3,马家堡,3,北京南站,3,陶然亭,3,菜市口,3,宣武门,3,西单,3,灵境胡同,3,西四,3,平安里,3,新街口,3,西直门,3,动物园,3,国家图书馆,3,魏公村,3,人民大学,3,海淀黄庄,3,中关村,3,北京大学东门,3,圆明园,3,西苑,3,北宫门,3,安河桥北5号线,天通苑北,3,天通苑,3,天通苑南,3,立水桥,3,立水桥南,3,北苑路北,3,大屯路东,3,惠新西街北口,3,惠新西街南口,3,和平西桥,3,和平里北街,3,雍和宫,3,北新桥,3,张自忠路,3,东四,3,灯市口,3,东单,3,崇文门,3,磁器口,3,天坛东门,3,蒲黄榆,3,刘家窑,3,宋家庄6号线,海淀五路居,3,慈寿寺,3,花园桥,3,白石桥南,3,车公庄西,3,车公庄,3,平安里,3,北海北,3,南锣鼓巷,3,东四,3,朝阳门,3,东大桥,3,呼家楼,3,金台路,3,十里堡,3,青年路,3,褡裢坡,3,黄渠,3,常营,3,草房8号线,朱辛庄,3,育知路,3,平西府,3,回龙观东大街,3,霍营,3,育新,3,西小口,3,永泰庄,3,林萃桥,3,森林公园南门,3,奥林匹克公园,3,奥体中心,3,北土城,3,安华桥,3,鼓楼大街,3,什刹海,3,南锣鼓巷9号线,郭公庄,3,丰台科技园,3,科怡路,3,丰台南路,3,丰台东大街,3,七里庄,3,六里桥,3,六里桥东,3,北京西站,3,军事博物馆,3,白堆子,3,白石桥南,3,国家图书馆10号线,巴沟,3,苏州街,3,海淀黄庄,3,知春里,3,知春路,3,西土城,3,牡丹园,3,健德门,3,北土城,3,安贞门,3,惠新西街南口,3,芍药居,3,太阳宫,3,三元桥,3,亮马桥,3,农业展览馆,3,团结湖,3,呼家楼,3,金台夕照,3,国贸,3,双井,3,劲松,3,潘家园,3,十里河,3,分钟寺,3,成寿寺,3,宋家庄,3,石榴庄,3,大红门,3,角门东,3,角门西,3,草桥,3,纪家庙,3,首经贸,3,丰台站,3,泥洼,3,西局,3,六里桥,3,莲花桥,3,公主坟,3,西钓鱼台,3,慈寿寺,3,车道沟,3,长春桥,3,火器营,313号线,西直门,3,大钟寺,3,知春路,3,五道口,3,上地,3,西二旗,3,龙泽,3,回龙观,3,霍营,3,立水桥,3,北苑,3,望京西,3,芍药居,3,光熙门,3,柳芳,3,东直门321#,公主坟,1号线,10号线,5,10号线,1号线,52#,军事博物馆,1号线,9号线,5,9号线,1号线,53#,复兴门,1号线,2号线,5,2号线,1号线,54#,西单,1号线,4号线,5,4号线,1号线,55#,东单,1号线,5号线,5,5号线,1号线,56#,建国门,1号线,2号线,5,2号线,1号线,57#,国贸,1号线,10号线,5,10号线,1号线,58#,宣武门,2号线,4号线,5,4号线,2号线,59#,崇文门,2号线,5号线,5,5号线,2号线,510#,朝阳门,2号线,6号线,5,6号线,2号线,511#,东直门,2号线,13号线,5,13号线,2号线,512#,雍和宫,2号线,5号线,5,5号线,2号线,513#,鼓楼大街,2号线,8号线,5,8号线,5号线,514#,西直门,2号线,4号线,5,4号线,2号线,5,2号线,13号线,5,13号线,2号线,5,4号线,13号线,5,13号线,4号线,515#,车公庄,2号线,6号线,5,6号线,2号线,516#,海淀黄庄,4号线,10号线,5,10号线,4号线,517#,国家图书馆,4号线,9号线,5,9号线,4号线,518#,平安里,4号线,6号线,5,6号线,4号线,519#,角门西,4号线,10号线,5,10号线,4号线,520#,立水桥,5号线,13号线,5,13号线,5号线,521#,惠新西街南口,5号线,10号线,5,10号线,5号线,522#,东四,5号线,6号线,5,6号线,5号线,523#,宋家庄,5号线,10号线,5,10号线,5号线,524#,慈寿寺,6号线,10号线,5,10号线,6号线,525#,白石桥南,6号线,9号线,5,9号线,6号线,526#,南锣鼓巷,6号线,8号线,5,8号线,6号线,527#,呼家楼,6号线,10号线,5,10号线,6号线,528#,霍营,8号线,13号线,5,13号线,8号线,529#,北土城,8号线,10号线,5,10号线,8号线,530#,六里桥,9号线,10号线,5,10号线,9号线,531#,知春路,10号线,13号线,5,13号线,10号线,532#,芍药居,10号线,13号线,5,13号线,10号线,5。