BFS模板
点击查看代码
#include<cstdio>
#include<queue>
using namespace std;
#pragma warning(disable:4996)
//广度优先搜索BFS一般由队列实现,按层次顺序进行遍历,BFS模板如下:
void BFS(int s) {
queue<int> q; //创建队列q
q.push(s); //将元素s入队
//只要队列q非空就执行循环
while (!q.empty()) {
int top = q.front(); //取出队首元素
/*执行访问队首元素的相关操作,如输出,运算等*/
q.pop(); //队首元素访问完后将其出队,即手动删除
/*将队首元素top的下一层结点中所有未层入队的结点全部入队,可以使用bool inq[]设置结点已入队标志*/
}
}