Example #1
0
        void DFS(Digraph g, int source)
        {
            isMarked[source] = false;

            preOrder.Enqueue(source);

            foreach (int v in g.AdjList(source))
            {
                if (!isMarked[v])
                {
                    DFS(g, v);
                }
            }

            postOrder.Enqueue(source);
            postReverseOrder.Push(source);
        }