文献搜索
2025-12-13 19:39:13
发布于:广东
0阅读
0回复
0点赞
//从1号点进行广度优先遍历
void bfs(int cur){
queue<int> q; //定义队列q
q.push(cur); //起点入队
vis[cur] = 1; //标记当前点已访问
cout << cur << ' '; //输出当前点的编号
while(q.empty()){
int head = q.front(); //获取队首元素
for(int i = 1; i <= n;i++){ //遍历图中所有点
if(!vis[i] && a[head][i]){//若i号点未访问,并且有cur能到达i号点
vis[i] = 1; //标记i号点已访问
cout << i << ' '; //输出i号点的编号
q.push(i); //标记i号点已访问
}
}
q.pop();
}
}
这里空空如也


有帮助,赞一个