南邮数据结构实验三图的基本运算及飞机换乘次数最少问题.doc

南邮数据结构实验三图的基本运算及飞机换乘次数最少问题.doc

ID:56410824

大小:254.50 KB

页数:19页

时间:2020-06-23

南邮数据结构实验三图的基本运算及飞机换乘次数最少问题.doc_第1页
南邮数据结构实验三图的基本运算及飞机换乘次数最少问题.doc_第2页
南邮数据结构实验三图的基本运算及飞机换乘次数最少问题.doc_第3页
南邮数据结构实验三图的基本运算及飞机换乘次数最少问题.doc_第4页
南邮数据结构实验三图的基本运算及飞机换乘次数最少问题.doc_第5页
资源描述:

《南邮数据结构实验三图的基本运算及飞机换乘次数最少问题.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验报告(2015/2016学年第2学期)课程名称数据结构A实验名称图的基本运算及飞行换乘次数最少问题实验时间年月日指导单位计算机科学与技术系指导教师学生姓名班级学号学院(系)专业 试验一图的基本运算一、问题描述(1)验证教材中关于在邻接矩阵和邻接表两种不同存储结构上实现图的基本运算的算法(见程序9.1~程序9.8);(2)在邻接矩阵存储结构上实现图的深度和广度优先遍历算法;(3)设计主函数,测试上述运算;(4)提示:扩充MGraph类,在扩充类上增加DFS和BFS函数;二、概要设计图如下所示,显示了名为operation_of_map的(默认文件名)工程,实现了Graph,SeqQueue,

2、结点类ENode,邻接矩阵类MGraph,邻接表LGraph类,包括几种为不同传入类型准备的构造函数。声明所要求的函数,并在后续过程中实现函数功能,最后通过一个main函数求解。三、详细设计1.类与类的层次结构Graph类public:virtualResultCodeInsert(intu,intv,T&w)=0;virtualResultCodeRemove(intu,intv)=0;virtualboolExist(intu,intv)const=0;protected:intn,e;SeqQueue类MGraph类public:SeqQueue(intmSize);~SeqQueue(

3、){delete[]q;}boolIsEmpty()const{returnfront==rear;}boolIsFull()const{return(rear+1)%maxSize==front;}boolFront(T&x)const;boolEnQueue(Tx);boolDeQueue();voidClear(){front=rear=0;}private:intfront,rear;intmaxSize;T*q;public:MGraph(intmSize,constT&noedg);~MGraph();ResultCodeInsert(intu,intv,T&w);ResultCo

4、deRemove(intu,intv);boolExist(intu,intv)const;voidDFS();voidBFS();protected:T**a;TnoEdge;voidDFS(intv,bool*visited);voidBFS(intv,bool*visited);ENode类LGraph类public:ENode(){nextArc=NULL;}ENode(intvertex,Tweight,ENode*next){adjVex=vertex;w=weight;nextArc=next;}intadjVex;Tw;ENode*nextArc;public:LGraph(i

5、ntmSize);~LGraph();ResultCodeInsert(intu,intv,T&w);ResultCodeRemove(intu,intv);boolExist(intu,intv)const;protected:ENode**a;四、程序代码#include"stdafx.h"#includeusingnamespacestd;constintINFTY=2147483640;enumResultCode{Underflow,Duplicate,Failure,Success,NotPresent};templateclassGrap

6、h{public:virtualResultCodeInsert(intu,intv,T&w)=0;virtualResultCodeRemove(intu,intv)=0;virtualboolExist(intu,intv)const=0;protected:intn,e;};templateclassSeqQueue{public:SeqQueue(intmSize);~SeqQueue(){delete[]q;}boolIsEmpty()const{returnfront==rear;}boolIsFull()const{return(rear+1)%maxSize==

7、front;}boolFront(T&x)const;boolEnQueue(Tx);boolDeQueue();voidClear(){front=rear=0;}private:intfront,rear;intmaxSize;T*q;};templateSeqQueue::SeqQueue(intmSize){maxSize=mSize;q=newT[maxSize];

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。