Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- void bfs(int v);
- int a[20][20],q[20],visited[20],n,i,j,f=0,r=-1;
- int main() {
- int v;
- //Enter the number of vertices
- scanf("%d",&n);
- //initialization loop
- for (i=1;i<=n;i++) {
- q[i]=0;
- visited[i]=0;
- }
- //Enter graph data in matrix form
- for (i=1;i<=n;i++)
- for (j=1;j<=n;j++)
- scanf("%d",&a[i][j]);
- //Enter the starting vertex
- scanf("%d",&v);
- q[++r]=v;
- bfs(v);
- return 0;
- }
- void bfs(int v) {
- for (i=1;i<=n;i++)
- if(a[v][i] && !visited[i]){
- q[++r]=i;
- }
- if(f<=r) {
- if(visited[q[f]]==0)
- printf("%d\t",q[f]);
- visited[q[f]]=1;
- bfs(q[f++]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement