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[]设置结点已入队标志*/
	}
}

posted @ 2022-09-29 21:26  zhaoo_o  阅读(7)  评论(0编辑  收藏  举报