数据结构 邻接表有向网

数据结构 邻接表有向网

ID:16285083

大小:92.50 KB

页数:18页

时间:2018-08-08

数据结构 邻接表有向网_第1页
数据结构 邻接表有向网_第2页
数据结构 邻接表有向网_第3页
数据结构 邻接表有向网_第4页
数据结构 邻接表有向网_第5页
资源描述:

《数据结构 邻接表有向网》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、#include"D:ProgramFilesVisualC++.6.0MSDev98MyProjectsGraphLinkList.h"//====================================================================================================================================////邻接表有向网部分////======================================================

2、==============================================================================structVexWeight{intvex;intweight;VexWeight(){vex=0;weight=0;}VexWeight(intv){vex=v;weight=0;}VexWeight(intv,intw){vex=v;weight=w;}voidoperator=(VexWeightn){vex=n.vex;weight=n.weight;}operatorint(){retu

3、rnvex;}};structListNetNode//定义网的顶点结点每个结点包含结点vex和一个用于存储边的链表lis{charvex;//顶点元素LinkListlis;//设置网的边链表ListNetNode(){};//结点的无参构造函数ListNetNode(charv){vex=v;}//给定顶点时构造结点voidoperator=(ListNetNode&n){vex=n.vex;lis=n.lis;}//实现结点的赋值booloperator>(ListNetNoden){returnvex>n.vex;}//实

4、现结点的比较booloperator==(ListNetNoden){returnvex==n.vex;}//实现结点的比较};classAdjListDirNet//定义邻接表有向网{public:intvexNum,edgeNum;//定义vexNum存储网的顶点数、和有向边数edgeNumLinkListvList;//定义以网的顶点结点构成的表AdjListDirNet(){vexNum=0;edgeNum=0;}//网的构造函数无参数时默认构造0个顶点的网~AdjListDirNet(){clear();}//析构函

5、数voidinsetVertex(charv);//向网中插入一个顶点vvoiddelVertex(charv);//在网中删除顶点vvoidsetEdge(intv1,intv2);//插入从顶点v1到顶点v2的边v1、v2为顶点对应的位置voiddelEdge(intv1,intv2);//删除从顶点v1到顶点v2的边v1、v2为顶点对应的位置intgetSite(charv);//获取顶点v在顶点表中的位置voidsetEdge(charv1,charv2){setEdge(getSite(v1),getSite(v2));}//插入从顶点v1到

6、顶点v2的边v1、v2为顶点voiddelEdge(charv1,charv2){delEdge(getSite(v1),getSite(v2));}//删除从顶点v1到顶点v2的边v1、v2为顶点voidsetEdge(charv1,VexWeightv2);voidshowVertex();//输出网的顶点及其对应的位置voidshowEdge();//输出以每个顶点为起点的边intinDegree(intv);//求第v个顶点的入度intoutDegree(intv);//求以顶点v为起点的边数求第v个顶点的出度intinDegree(charv

7、){returninDegree(getSite(v));}//求顶点v的入度intoutDegree(charv){returnoutDegree(getSite(v));}//求取顶点v的出度voidclear();//网清空voidoperator=(AdjListDirNet&G){vexNum=G.vexNum;edgeNum=G.edgeNum;vList=G.vList;}//重载运算符”="实现网的复制};voidAdjListDirNet::insetVertex(charv){intsite=getSite(v);if(site==

8、vexNum+1){ListNetNodee(v);//生成顶点结点vvList.TailIn

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

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

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