Sunteți pe pagina 1din 1

5. parcurgere grafuri in latime: http://infoscience.3x.

ro/c++/Parcurgerea_grafur
i_latime.htm
#include <iostream>
# include <fstream>
using namespace std;
int a[100][100],c[200]={1},viz[100];
int n,m,p,u,v,x;
void citire()
{
ifstream f("date.in");
f>>n;
f>>x;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
f>>a[i][j];
}
void bf_latime(int x)
{
int i;
viz[x]=1;
c[1]=x;
p=u=1;
while(p<=u)
{
v=c[p];
for(i=1;i<=n;i++)
if(a[v][i]==1&&viz[i]==0) //il adaug pe k in coada daca este vecin pt.
varf si nu a fost vizitat
{
u++;
c[u]=i;
viz[i]=1;
}
p++;
}
for (int i=1;i<=u;i++)
cout<<c[i]<<" ";
}
int main()
{
citire();
bf_latime(x);
}