广度优先搜索(BFS)模板

· · 个人记录

void bfs(起始点) {
    将起始点放入队列中;
    标记起点访问;
    while(如果队列不为空) {
        访问队列中队首元素x;
        删除队首元素;
        for (x 所有相邻点) {
            if (该点未被访问过且合法) {
                将该点加入队列末尾;
            }
        }
    }
    队列为空,广搜结束;
}