SDUT2107图的深度遍历

#include<bits/stdc++.h>
using namespace std;
bool Map[120][120];
bool vis[120];
void dfs(int s,int v)
{
    for(int i=0; i<v; i++)
        if(Map[s][i]&&!vis[i])
        {
            vis[i]=1;
            printf(" %d",i);
            dfs(i,v);
        }
}
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        int e,v;
        scanf("%d%d",&v,&e);
        memset(Map,false,sizeof(Map));
        memset(vis,false,sizeof(vis));
        for(int i=0; i<e; i++)
        {
            int v1,v2;
            scanf("%d%d",&v1,&v2);
            Map[v1][v2]=true;
            Map[v2][v1]=true;
        }
        vis[0]=true;
        printf("0");
        dfs(0,v);
        printf("\n");
    }
}

    原文作者:数据结构之图
    原文地址: https://blog.csdn.net/nar666/article/details/52063959
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞