From 4232b7feba243334075fa7e9acbfddd78903f659 Mon Sep 17 00:00:00 2001 From: JavvajiSumanth99 <56475971+JavvajiSumanth99@users.noreply.github.com> Date: Sat, 12 Oct 2019 17:44:09 +0530 Subject: [PATCH] C Program for Breadth First Search #214 C Program to search the element in the graph using Breadth First Search --- Search/breathfirstsearch | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 Search/breathfirstsearch diff --git a/Search/breathfirstsearch b/Search/breathfirstsearch new file mode 100644 index 0000000..6e0a4b1 --- /dev/null +++ b/Search/breathfirstsearch @@ -0,0 +1,35 @@ +#include +#include +int a[20][20],q[20],visited[20],n,i,j,f=0,r=-1; +void bfs(int v) { + for (i=1;i<=n;i++) + if(a[v][i] && !visited[i]) + q[++r]=i; + if(f<=r) { + visited[q[f]]=1; + bfs(q[f++]); + } +} +void main() { + int v; + clrscr(); + printf("\n Enter the number of vertices:"); + scanf("%d",&n); + for (i=1;i<=n;i++) { + q[i]=0; + visited[i]=0; + } + printf("\n Enter graph data in matrix form:\n"); + for (i=1;i<=n;i++) + for (j=1;j<=n;j++) + scanf("%d",&a[i][j]); + printf("\n Enter the starting vertex:"); + scanf("%d",&v); + bfs(v); + printf("\n The node which are reachable are:\n"); + for (i=1;i<=n;i++) + if(visited[i]) + printf("%d\t",i); else + printf("\n Bfs is not possible"); + getch(); +}