Untitled
unknown
plain_text
a year ago
1.2 kB
8
Indexable
[07/11, 1:38 pm] arihantgadeppannavar: #include<stdio.h>
int top=-1,a[20][20],vis[20],stack[20];
void dfs(int s,int n);
void push(int item);
int pop();
void main() }
int n,e,i,s.j,u,v;
printf("Enter the number of vertices in the graph: "); scanf("%d", &n);
printf("Enter the number of edges in the graph: "); scanf("%d", &e);
printf("Enter the edges (u, v):\n"); for (i = 1; i<=e; i++)
{
scanf("%d %d", &u, &v); a[u][v] = 1;
}
printf("THE ADJACENCY MATRIX IS\n"); for(i=1;i<=n;i++) {
for(j=1;j<=n;j++)
{
printf("%d",a[i][j]);
}
printf("\n");
}
[07/11, 1:39 pm] arihantgadeppannavar: for(i=1;i<=n;i++) vis[i]=0;
printf("ENTER THE SOURCE VERTEX :"); scanf("%d",&s);
dfs(s,n);
}
void push(int item)
{
if(top=19) printf("Stack overflow "); else stack[++top]=item;
}
2
}
int pop()
{
int k;
if(top-1)
return(0);
else
{ k=stack[top--]; return(k); }
void dfs(int s,int n)
{
int i,k;
push(s);
vis[s]=1;
k=pop();
if(k!=0)
[07/11, 1:39 pm] arihantgadeppannavar: printf("%d ",k);
while(k!=0)
{
for(i=1;i<=n;i++) if((a[k][i]!=0)&&(vis[i]==0)) { push(i); vis[i]=1;
}
k=pop();
if(k!=0)
printf("%d ",k);
for(i=1;i<=n;i++) if(vis[i]=0)
dfs(i,n);
}Editor is loading...
Leave a Comment