《分别采用邻接矩阵、邻接表存储结构实现图的遍历.doc》由会员分享,可在线阅读,更多相关《分别采用邻接矩阵、邻接表存储结构实现图的遍历.doc(5页珍藏版)》请在金锄头文库上搜索。
1、#define INFINITY 0#define INF32767#define MAX_NUM 20#define MAXV 100#includetypedef char VRType;typedef enumDG=1,DN,UDG,UDNGraphKind;typedef struct ArcCell VRType adj;ArcCell *info;AdjMatrixMAX_NUMMAX_NUM;typedef struct VRType vexsMAX_NUM;AdjMatrix arcs;int vexnum,arcnum;GraphKind kind;MGraph;void P
2、RIN(MGraph int LocateVex(MGraph int FirstAdjVex(MGraph int NextAdjVex(MGraph void CreateUDN(MGraph &G)int i,j,k,w; VRType v1,v2; G.kind =UDN; printf(构造无向网n);printf(G.vexnum:); scanf(%d,printf(G.arcnum:); scanf(%d,getchar();for(i=0;i=0;w=NextAdjVex(G,v,w)if(!visitedw)DFS(G,w);void DFSTraverse(MGraph &G,int v)int i;for(i=0;i=0;w=NextAdjVex(G,u,w)if(!visitedw)visitedw=true;printf(%4c,G.vexsw);rear=(rear+1)%MAX_NUM;queuerear=i;void main()MGraph G; int u=0;print(邻接矩阵为:n);CreatGraph(G);print(深度优先搜索遍历序列为:n);DFSTraverse(G,0);print(n);print(广度优先搜索遍历序列为:n);BFSTraverse(G,0);print(n);