DFS遍历

在这里插入图片描述
在这里插入图片描述

#include <stdio.h>
#include <stdlib.h>
typedef struct table
{
    int known;
}TABLE;
typedef struct table Table;

void initialize(int graph[9][9]);
void DFS(int V, int graph[9][9],Table *T)
{
    
    T[V].known=1;
    printf("%d,",V);
    for(int W=0;W<9;W++)
    {
        if(graph[V][W]==1)
        {
            graph[V][W]=0;
            if(T[W].known==0)
            {
               //printf("%d,",W);
                DFS(W,graph,T);
            }
        }
    }
}
int main()
{
    
    int graph[9][9];
    int i,j;
    int x;
    Table T[9];
    scanf("%d,",&x);
    for(int t=0;t<9;t++)
    {
        T[t].known=0;//0=false,1=true//
    }
    for(i=0;i<9;i++)
    {
        for(j=0;j<9;j++)
        {
            graph[i][j]=0;
        }
        
    }
    initialize(graph);
    DFS(x,graph,T);
    return 0;
}

void initialize(int graph[9][9])
{
    int i,j;
    i=1;
    j=2;
    graph[i][j]=1;
    graph[j][i]=1;
    i=2;j=1;
    graph[i][j]=1;
    graph[j][i]=1;
    i=1;j=3;
    graph[i][j]=1;
    graph[j][i]=1;
    i=3;j=1;
    graph[i][j]=1;
    graph[j][i]=1;
    i=2;j=4;
    graph[i][j]=1;
    graph[j][i]=1;
    i=4;j=2;
    graph[i][j]=1;
    graph[j][i]=1;
    i=2;j=5;
    graph[i][j]=1;
    graph[j][i]=1;
    i=5;j=2;
    graph[i][j]=1;
    graph[j][i]=1;
    i=4;j=8;
    graph[i][j]=1;
    graph[j][i]=1;
    i=8;j=4;
    graph[i][j]=1;
    graph[j][i]=1;
    i=5;j=8;
    graph[i][j]=1;
    graph[j][i]=1;
    i=8;j=5;
    graph[i][j]=1;
    graph[j][i]=1;
    i=3;j=6;
    graph[i][j]=1;
    graph[j][i]=1;
    i=6;j=3;
    graph[i][j]=1;
    graph[j][i]=1;
    i=3;j=7;
    graph[i][j]=1;
    graph[j][i]=1;
    i=7;j=3;
    graph[i][j]=1;
    graph[j][i]=1;
    i=6;j=8;
    graph[i][j]=1;
    graph[j][i]=1;
    i=8;j=6;
    graph[i][j]=1;
    graph[j][i]=1;
    i=7;j=8;
    graph[i][j]=1;
    graph[j][i]=1;
    i=8;j=7;
    graph[i][j]=1;
    graph[j][i]=1;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值