Class InfixDepthFirstTreeIterator<N extends TreeNode<?,​N>>

  • Type Parameters:
    N - is the type of the tree nodes.
    All Implemented Interfaces:
    Iterator<N>, NodeSelectionTreeIterator<N>

    public class InfixDepthFirstTreeIterator<N extends TreeNode<?,​N>>
    extends AbstractInfixDepthFirstTreeIterator<N,​N>
    implements NodeSelectionTreeIterator<N>
    This class is an infixed depth-first iterator on a tree.

    This iterator has an infix position which describes when to treat the parent node inside the set of child treatments. Significant values of this position are:

    0the parent is treated before the child at index 0. This is equivalent to a prefixed depth-first iterator. We recommend to use PrefixDepthFirstTreeIterator insteed of this iterator class.
    between 1 and getChildCount()-1the parent is treated before the child at the specified index.
    getChildCount()the parent is treated after the last child. This is equivalent to a postfixed depth-first iterator. We recommend to use PostfixDepthFirstTreeIterator insteed of this iterator class.

    By default this iterator assumes an infix index that corresponds to the middle of each child set (ie, getChildCount()/2).

    Since:
    13.0
    Version:
    17.0 2020-01-04 14:41:41
    Author:
    Stéphane GALLAND
    Maven Group Id:
    org.arakhne.afc.core
    Maven Artifact Id:
    mathtree
    • Constructor Detail

      • InfixDepthFirstTreeIterator

        public InfixDepthFirstTreeIterator​(Tree<?,​N> tree)
        Constructor.
        Parameters:
        tree - is the tree to iterate.
      • InfixDepthFirstTreeIterator

        public InfixDepthFirstTreeIterator​(Tree<?,​N> tree,
                                           NodeSelector<N> selector)
        Constructor.
        Parameters:
        tree - is the tree to iterate.
        selector - permits to filter the nodes replied/traversed by this iterator.
      • InfixDepthFirstTreeIterator

        public InfixDepthFirstTreeIterator​(Tree<?,​N> tree,
                                           int infixPosition)
        Constructor.
        Parameters:
        tree - is the tree to iterate.
        infixPosition - is the index of the child which is assumed to be at the infixed position.
      • InfixDepthFirstTreeIterator

        public InfixDepthFirstTreeIterator​(Tree<?,​N> tree,
                                           int infixPosition,
                                           NodeSelector<N> selector)
        Constructor.
        Parameters:
        tree - is the tree to iterate.
        infixPosition - is the index of the child which is assumed to be at the infixed position.
        selector - permits to filter the nodes replied/traversed by this iterator.
      • InfixDepthFirstTreeIterator

        public InfixDepthFirstTreeIterator​(N node)
        Constructor.
        Parameters:
        node - is the node to iterate.
      • InfixDepthFirstTreeIterator

        public InfixDepthFirstTreeIterator​(N node,
                                           NodeSelector<N> selector)
        Constructor.
        Parameters:
        node - is the node to iterate.
        selector - permits to filter the nodes replied/traversed by this iterator.
      • InfixDepthFirstTreeIterator

        public InfixDepthFirstTreeIterator​(N node,
                                           int infixPosition)
        Constructor.
        Parameters:
        node - is the node to iterate.
        infixPosition - is the index of the child which is assumed to be at the infixed position.
      • InfixDepthFirstTreeIterator

        public InfixDepthFirstTreeIterator​(N node,
                                           int infixPosition,
                                           NodeSelector<N> selector)
        Constructor.
        Parameters:
        node - is the node to iterate.
        infixPosition - is the index of the child which is assumed to be at the infixed position.
        selector - permits to filter the nodes replied/traversed by this iterator.