\begin{algorithm}
        \caption{Binary Tree Traversal Nonrecursive}
        \begin{algorithmic}
        \REQUIRE a binary tree $T$
        \ENSURE print all keys appearing in $T$
        \STATE Let $S$ be a stack
        \STATE \CALL{Push}{$S, T.root$}
        \WHILE{\NOT \CALL{StackEmpty}{$S$}}
            \STATE $x =$ \CALL{Pop}{$S$}
            \IF{$x == NIL$}
                \CONTINUE
            \ENDIF
            \PRINT $x.key$
            \STATE \CALL{Push}{$x.right$}
            \STATE \CALL{Push}{$x.left$}
        \ENDWHILE
        \end{algorithmic}
        \end{algorithm}