广度优先搜索
typedef struct {
int que[MaxVertexNum];
int rear,front;
}Queue;//广度优先搜索队列的存储结构
int visit[MaxVertexNum];//全局变量数组
void BFS(MGraph &M,int v){
printf("广度优先搜索:");
Queue q;
int v1;
for(int i=0;i<MaxVertexNum;i++){
visit[i]=0;
}
q.rear=0;
q.front=0;
q.que[q.rear++]=v;
visit[v]=1;
visited(v);
while(q.front!=q.rear){
v1=q.que[q.front++];
for(int j=0;j<M.vertexnum;j++){
if(M.Edge[v1][j]!=0&&visit[j]==0){
q.que[q.rear++]=j;
visited(j);
visit[j]=1;
}
}
}
}
深度优先搜索