图的基本操作(邻接矩阵)

图的基本操作(邻接矩阵)

ID:38676150

大小:13.19 KB

页数:8页

时间:2019-06-17

图的基本操作(邻接矩阵)_第1页
图的基本操作(邻接矩阵)_第2页
图的基本操作(邻接矩阵)_第3页
图的基本操作(邻接矩阵)_第4页
图的基本操作(邻接矩阵)_第5页
资源描述:

《图的基本操作(邻接矩阵)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、//*******图的邻接矩阵储存表示***********#defineINFINITYINT_MAX//最大值为无穷大#defineMAX_VERTEX_NUM20//最大顶点个数#includeusingnamespacestd;typedefenum{DG,DN,AG,AN}GraphKind;//{有向图,有向网,无向图,无向网}typedefintStatus;typedefintVRType;typedefcharInfoType;typedefstructArcCe

2、ll{VRTypeadj;//表示顶点关系,对于无向图有向图用0和1表示是否相邻,对于有向图有向网用权值类型表示InfoType*info;//该弧相关信息的指针}ArcCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];typedefstruct{//点的值charname;char*data;}VertexType[MAX_VERTEX_NUM];typedefstruct{VertexTypevexs;//顶点向量AdjMatrixarcs;//邻接矩阵

3、intvexnum;//图的当前顶点数intarcnum;//图的当前弧数GraphKindkind;//图的种类标志}MGraph;//***********************以下操作默认是无向网,即Kind=AG**************************//***********************顶点是名称字母。书上的是数字,例如v************************StatusLocateVex(MGraphG,charu){if(G.vexnum==0)ret

4、urn-1;//图不存在inti;for(i=0;i>G.vexnum;cout<<"你想要创建几条弧?"<>G.arcnum;cout<<"依次输入顶点名称:

5、"<>G.vexs[i].name;//构造顶点向量for(i=0;i>v1>>v2;cout<<"输入这条边的权值:"<

6、l;cin>>w;cout<<"输入这条边的信息:"<>data;i=LocateVex(G,v1);j=LocateVex(G,v2);G.arcs[i][j].adj=w;G.arcs[i][j].info=data;G.arcs[j][i]=G.arcs[i][j];}return1;}StatusDestroyGraph(MGraph&G){G.vexnum=NULL;G.arcnum=NULL;return1;}char*GetVex(MGraphG,charv){if(

7、G.vexnum==0)returnNULL;inti;i=LocateVex(G,v);if(i>=0)//判断是否是图上的顶点,后面的函数省略了这一步returnG.vexs[i].data;elsereturnNULL;}StatusPutVex(MGraph&G,charv,char*value){if(G.vexnum==0)return0;inti;i=LocateVex(G,v);G.vexs[i].data=value;return1;}//VertexTypeFirstAdjVex(

8、MGraphG,charv){}//返回第一个邻接顶点,邻接表操作//VertexTypeNextAdjVex(MGraphG,charv,charw){}//邻接表操作StatusInsertVex(MGraph&G,charv){if(G.vexnum==0)return0;inti;G.vexs[G.vexnum].name=v;G.vexnum++;for(i=0;i

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

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

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