数据结构 图基本操作代码.docx
《数据结构 图基本操作代码.docx》由会员分享,可在线阅读,更多相关《数据结构 图基本操作代码.docx(6页珍藏版)》请在三一办公上搜索。
1、数据结构 图基本操作代码实验五 图 /图的邻接矩阵存储 #include stdio.h #include stdlib.h typedef struct int adj; AdjMatrix1010; typedef struct int vexs10; AdjMatrix arcs; int vexnum,arcnum; MGraph; int LocateVex(MGraph &G,int v) int k,j=0; for(k=0;kG.vexnum;k+) if(G.vexsk=v) j=k; break; return j; void Create(MGraph &G) int i
2、,j,k; int v1=0,v2=0,w=0; printf(请输入图的顶点数:); scanf(%d,&G.vexnum); printf(请输入图的边数:); scanf(%d,&G.arcnum); /printf(请输入图的顶点:); for(i=0;iG.vexnum;i+) G.vexsi=i+1; for(i=0;iG.vexnum;i+) for(j=0;jG.vexnum;j+) G.arcsij.adj=0; for(k=0;kG.arcnum;k+) printf(请输入一条边依附的顶点v1,v2及权值(v1,v2,w):); scanf(%d,%d,%d,&v1,&v
3、2,&w); i=LocateVex(G,v1); j=LocateVex(G,v2); G.arcsij.adj=w; /G.arcsji.adj=G.arcsij.adj; void display(MGraph &G) int i,j; for(i=0;iG.vexnum;i+) for(j=0;jG.vexnum;j+) printf(%d ,G.arcsij.adj); printf(n); void main MGraph G; Create(G); display(G); /图的邻接表存储及深度广度遍历 #include stdio.h #include stdlib.h typ
4、edef struct ArcNode int adjvex; struct ArcNode *nextarc; int weight; ArcNode; typedef struct VNode char vertex; /顶点域 ArcNode *firstarc; VNode,AdjList10; typedef struct AdjList adjlist; int vexnum,arcnum; ALGraph; int LocateVex(ALGraph &G,char v) int k,j=0; for(k=0;kG.vexnum;k+) if(G.adjlistk.vertex=
5、v) j=k; break; return j; void CreateALGraph(ALGraph &G) /建立无向图的邻接表表示 int i,j,k,w; char v1,v2; ArcNode *s; printf(请输入顶点数和边数(vexnum,arcnum):); scanf( %d,%d,&G.vexnum,&G.arcnum); /读人顶点数和边数 for(i=0;iG.vexnum;i+) /建立顶点表 getchar; printf(请输入第%d顶点信息:,i+1); scanf(%c,&G.adjlisti.vertex); /读入顶点信息 G.adjlisti.fi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 图基本操作代码 基本 操作 代码
链接地址:https://www.31ppt.com/p-3560145.html