| | | | | |

Increment (set)

Algorithm:

  ++iter // prefix
  {
    Repeat: advance iter to next node
    Until:  node is null or alive
    return  iter by reference
  }

  iter++ // postfix
  {
    make copy of iter
    advance iter to next element
    return copy by value
  }

Code:

    Iterator & operator++()
    {
      do Increment();
      while (node_ != nullptr && node_->IsDead());
      return *this;
    }

    Iterator operator++(int)
    {
      Iterator i = *this;
      this->operator ++();
      return i;
    } 

| | Top of Page | 14. BST Iterators - 37 of 41