Skip to content

Instantly share code, notes, and snippets.

Created September 11, 2017 13:21
What would you like to do?
Breadth First Search(BFS) Program in C.
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;
void main() {
int v;
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);
printf("\n The node which are reachable are:\n");
for(i=1; i <= n; i++) {
printf("%d\t", i);
else {
printf("\n Bfs is not possible. Not all nodes are reachable");
Copy link

what is the input

Copy link

@kausar28 the starting vertex

Copy link

utkzas commented Nov 12, 2020

is it for a graph also?

Copy link

this code is taking input in loop.

Copy link

can we give the starting vertex as default

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment