码迷,mamicode.com
首页 > 其他好文 > 详细

图的深度遍历

时间:2020-03-24 23:34:34      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:i++   for   The   printf   syn   pac   graph   ++   %s   

 

 

显示PE

#include <iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
class Graph
{
private:
    char name[100][10];
    int graph[100][100];
    int vertex,arc;
    bool visited[100];
public:
    Graph(int a,int b):vertex(a),arc(b)
    {
        memset(graph,0,sizeof(graph));
        memset(visited,false,sizeof(visited));
        set_graph();
    };
    Graph() {};
    ~Graph() {};
    void set_vertex(int a)
    {
        vertex = a;
    }
    void set_arc(int a)
    {
        arc = a;
    }
    void set_graph()
    {
        for(int i = 0; i < arc; i++)
        {
            int p,q;
            scanf("%d %d",&q,&p);
            graph[p][q] = graph[q][p] = 1;// to show that p->q and q->p;
        }
    }
    void set_name()
    {
        for(int i = 0; i < vertex; i++)
        {
            scanf("%s",name[i]);
        }
    }
    void DFS(int v)
    {
        if(visited[v] == false)
        {
            visited[v] = true;
            printf("%d ",v);
        }
        for(int i = 0; i < vertex; i++)
        {
            if(visited[i]==false && graph[v][i] == 1)
            {
                DFS(i);
            }
        }

    }

};
int main()
{
    ios::sync_with_stdio(false);
    int n;
    scanf("%d",&n);
    while(n--)
    {
        int k,m;// k is the number of the arc, m is the number of vertex;
        scanf("%d %d",&k,&m);
        Graph G(k,m);
        G.DFS(0);
        printf("\n");
    }
    return 0;
}

 

图的深度遍历

标签:i++   for   The   printf   syn   pac   graph   ++   %s   

原文地址:https://www.cnblogs.com/zhang-zsq/p/12562728.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!