You are on page 1of 1

// Online C compiler to run C program online

#include <stdio.h>
#define MAX 10
int st[MAX];
int top=-1;
void dfs(int[][MAX],int[],int,int);
void main()
{
int i,j,n;
int ad[10][10],visit[10];
printf("enter no of vertices\n");
scanf("%d",&n);
printf("enter adjacency matrix elements\n");
for(i=0;i<n;i++)
{
visit[i]=0;
for(j=0;j<n;j++)
{
scanf("%d",&ad[i][j]);
}
}
printf("dfs traversal\n");
dfs(ad,visit,0,n);
}
void dfs(int ad[][MAX],int visit[],int s,int n)
{
visit[s]=1;
top=0;
st[top]=s;
while(top!=1)
{
s=st[top];
top--;
printf("%d",s);
for(int i=0;i<n;i++)
{
if(ad[s][i]==1&&visit[i]==0)
{
top++;
st[top]=i;
visit[i]=1;
}
}
}
}

You might also like