You are on page 1of 2

BFS

#include<stdio.h>
#include<conio.h>
#define Max 10
void BFS(int ad[][Max], int visited[], int s)
{
int q[Max],rear=-1,front=-1,i;
q[++rear]=s;
visited[s]=1;
while(rear!=front)
{
s=q[++front];
if(s==4)
printf("5\t");
else
printf("%c \t", s+65);
for(i=0; i<Max; i++)
{
if(ad[s][i]==1&&visited[i]==0)
{
q[++rear]=i;
visited[i]=1;
} } } }
int main()
{
int visited[Max]={0};
int ad[Max][Max], i, j;
clrscr();
printf("\n Enter the adjacency matrix:");
for(i=0; i<Max; i++)
{
for(j=0; j<Max; j++)
{
scanf("%d",&ad[i][j]);
} }
BFS(ad, visited, 0);
getch();
return 0;
}

You might also like