图的创建和遍历

#include
#include
#include
#define MaxInt 32767
#define MAXQSIZE 100
#define MVNum 100
#define OK 1
#define ERROR 0
#define OVERFLOW -2
bool visited[MVNum];
typedef struct
{/*存储表示*/
	char vexs[MVNum];
	int arcs[MVNum][MVNum];
	int vexnum,arcnum;
 }AMGraph; 
int LocateVex(AMGraph G, char v)
{/*v在G中的位置*/
	int i;
	for(i=0;i>G.vexnum>>G.arcnum;
	cout<>G.vexs[i];
	}
	for(i=0;i>v1>>v2;
		i=LocateVex(G,v1);
		j=LocateVex(G,v2);
		G.arcs[i][j]=1;
		G.arcs[j][i]=G.arcs[i][j];
	}
	return OK;
}
int FirstAdjVex(AMGraph G,int v)
{/*v的第一个邻接点*/
	int i;
	for(i=0;i=0;w=NextAdjVex(G,v,w))  
		if(!visited[w])
			DFS(G,w); 
}
void DFSTraverse(AMGraph G)
{ /*深度优先搜索遍历连通图*/
	int v;
	for(v=0;v=0;w=NextAdjVex(G,u,w))
			if(!visited[w])
			{
				cout<>c;
	for(i=0;i

你可能感兴趣的:(图的创建和遍历)