Breadth First Search
Breadth First Search
#include<stdio.h>
int a[20][20],queue[20],visited[20],n,front=-1,rear=-1;
void main()
int v,i,j;
printf("\nEnter the number of vertices:");
scanf("%d",&n);
for (i=1;i<=n;i++)
{
for (j=1;j<=n;j++)
scanf("%d",&a[i][j]);
for(i=1;i<=n;i++)
{
visited[i]=0;
scanf("%d",&v);
front=rear=0;
queue[rear]=v;
visited[v]=1;
printf("%d",v);
bfs(v);
}
void bfs(int v)
{
int i;
for (i=1;i<=n;i++)
{
rear=rear+1;
queue[rear]=i;
visited[i]=1;
printf("%d",i);
}
front=front+1;
if(front<=rear)
bfs(queue[front]);
Output:
0110
1001
1001
0110
1234