You are on page 1of 1

#include<stdio.

h>
int front,rear;
void nq(int q[],int status[],int data)
{
q[rear]=data;
rear++;
status[data]=2;
}
int dq(int q[])
{
if(front==rear)
return(-1);
else
return(q[front]);
}
void main()
{
front=rear=0;
int i,j,n,a[10][10],q[100],status[10],sn,k;
printf("enter number of nodes\n");
scanf("%d",&n);
printf("enter starting node\n");
scanf("%d",&sn);
sn--;
printf("enter adjecency matrix\n");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=0;i<n;i++)
status[i]=1;
nq(q,status,sn);
while(front != rear)
{
k=dq(q);
front++;
printf("%d->",k+1);
for(i=0;i<n;i++)
if(a[k][i] != 0 && status[i] == 1)
nq(q,status,i);
}
printf("\n");
}

You might also like