当前位置 博文首页 > u012938183的博客:广度优先遍历图(邻接矩阵)
//<BFS>?
#include<cstdio>
#include<iostream>
using namespace std;
const int maxn=1010;
int q[maxn];
int a[maxn][maxn];
int vis[maxn];
int n,m;
//<void>?
void bfs(int u){
int head=0,tail=1;//head是队头元素,tail是队尾元素的后一个
q[0]=u;
vis[u]=1;
while(head<tail){
int p=q[head++];
cout<<p<<endl;
for(int i=1;i<=n;i++){
if(a[p][i]==1&&vis[i]==0){
q[tail++]=i;
vis[i]=1;
}
}
}
}
//<int>?
int main(){
cout<<'\a';//程序开始提示音??
system("color C");//把cmd字体设置成红色??
cin>>n>>m;
for(int i=1;i<=m;i++){
int x,y;
cin>>x>>y;
a[x][y]=a[y][x]=1;
}
bfs(1);
return 0;
}