AlgoPlus v0.1.0
Loading...
Searching...
No Matches
tree< T >::Iterator Class Reference

Public Member Functions

 Iterator (const int64_t &index, std::vector< T > &els) noexcept
 Construct a new Iterator object.
 
Iteratoroperator= (int64_t index)
 = operator for Iterator type
 
Iteratoroperator++ ()
 operator ++ for type Iterator
 
Iterator operator++ (int)
 operator ++ for type Iterator
 
Iteratoroperator-- ()
 operator – for type Iterator
 
Iterator operator-- (int)
 operator – for type Iterator
 
bool operator!= (const Iterator &it)
 operator != for type Iterator
 
operator* ()
 operator * for type Iterator
 
 tree (std::vector< std::pair< std::string, T > > v={}) noexcept
 constructor for tree class
 
void insert (std::string direction, T info)
 insert function
 
bool search (T key)
 search function
 
Iterator begin ()
 
Iterator end ()
 
std::vector< T > inorder ()
 inorder traversal
 
std::vector< T > postorder ()
 postorder function
 
std::vector< T > preorder ()
 preorder function
 
std::vector< std::vector< T > > level_order ()
 level order function
 

Friends

std::ostream & operator<< (std::ostream &out, tree< T > &t)
 operator << for bst class
 

Constructor & Destructor Documentation

◆ Iterator()

template<typename T>
tree< T >::Iterator::Iterator ( const int64_t & index,
std::vector< T > & els )
inlineexplicitnoexcept

Construct a new Iterator object.

Parameters
elsvector<T> - the elements in inorder fashion

Member Function Documentation

◆ inorder()

std::vector< T > tree< T >::inorder ( )
inline

inorder traversal

Returns
vector<T>: the inorder traversal of the tree

◆ insert()

void tree< T >::insert ( std::string direction,
T info )
inline

insert function

Parameters
directionstring, directions for the insertion of value info
infothe value of the new node

◆ level_order()

std::vector< std::vector< T > > tree< T >::level_order ( )
inline

level order function

Returns
vector<vector<T>>: the level order traversal of the tree

◆ operator!=()

template<typename T>
bool tree< T >::Iterator::operator!= ( const Iterator & it)
inline

operator != for type Iterator

Parameters
itconst Iterator
Returns
true if index == it.index
false otherwise

◆ operator*()

template<typename T>
T tree< T >::Iterator::operator* ( )
inline

operator * for type Iterator

Returns
T the value of the node

◆ operator++() [1/2]

template<typename T>
Iterator & tree< T >::Iterator::operator++ ( )
inline

operator ++ for type Iterator

Returns
Iterator&

◆ operator++() [2/2]

template<typename T>
Iterator tree< T >::Iterator::operator++ ( int )
inline

operator ++ for type Iterator

Returns
Iterator

◆ operator--() [1/2]

template<typename T>
Iterator & tree< T >::Iterator::operator-- ( )
inline

operator – for type Iterator

Returns
Iterator&

◆ operator--() [2/2]

template<typename T>
Iterator tree< T >::Iterator::operator-- ( int )
inline

operator – for type Iterator

Returns
Iterator

◆ operator=()

template<typename T>
Iterator & tree< T >::Iterator::operator= ( int64_t index)
inline

= operator for Iterator type

Parameters
indexthe current index
Returns
Iterator&

◆ postorder()

std::vector< T > tree< T >::postorder ( )
inline

postorder function

Returns
vector<T>: the postorder traversal of the tree

◆ preorder()

std::vector< T > tree< T >::preorder ( )
inline

preorder function

Returns
vector<T>: the preorder traversal of the tree

◆ search()

bool tree< T >::search ( T key)
inline

search function

Parameters
keythe key to be searched
Returns
true: if the key exist in the tree
false: otherwise

◆ tree()

tree< T >::tree ( std::vector< std::pair< std::string, T > > v = {})
inlineexplicitnoexcept

constructor for tree class

Parameters
vthe input vector of pairs(string and T) to avoid doing multiple insertions

The documentation for this class was generated from the following file: