#include<stdio.h>
#include<conio.h>
int i,j,k,n;
int graph[20][20];
int visited[20];
void dfs(int);
void main()
{
clrscr();
printf("Enter number of nodes:");
scanf("%d",&n);
printf("Enter the adjacency matrix\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
scanf("%d",&graph[i][j]);
}
visited[i]=0;
}
for(i=1;i<=n;i++)
{
if(visited[i]==0)
{
dfs(i);
}
}
getch();
}
void dfs(int l)
{
visited[l]=1;
printf("Node visited is %d\n",l);
for(k=1;k<=n;k++)
{
if(visited[k]==0 && graph[l][k]==1)
{
dfs(k);
}
}
}
OutPut:
Enter number of nodes : 3
Enter the Adjacency matrix :
0 1 1
1 0 0
1 0 0
Node Visited is : 1
Node Visited is : 2
Node Visited is : 3