广度优先搜索怎么实现

一幅有向图,每个点对应一定数量邻节点,现在我想保存一层到n层所有节点和路径(n<8).该怎么写

 伪代码:
void search(Node node, int depth)
{
    if (depth > 8) return;
    for (i=0; i < node.Nodes.length; i++)
        {
            output(node.Nodes[i]);
        }
    for (i=0; i < node.Nodes.length; i++)
        {
            search(node.Nodes[i], depth+1);
        }
}

你这个是每一层的节点已知,我需要的是节点未知,只知道每个节点的邻接点