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

Iterator class. More...

#include <bst.h>

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
 
 bst (std::vector< T > _elements={}) noexcept
 Contructor for BST tree class.
 
 bst (const bst &b)
 Copy constructor for bst class.
 
bstoperator= (const bst &b)
 operator = for bst class
 
void clear ()
 clear function
 
void insert (T key)
 insert function.
 
bool search (T key)
 search function.
 
void remove (T key)
 remove function.
 
Iterator begin ()
 pointer that points to begin
 
Iterator end ()
 pointer that points to end
 
size_t size ()
 size function
 
std::vector< T > inorder ()
 inorder function.
 
std::vector< T > preorder ()
 preorder function.
 
std::vector< T > postorder ()
 postorder function.
 
std::vector< std::vector< T > > level_order ()
 level order function
 

Friends

std::ostream & operator<< (std::ostream &out, bst< T > &t)
 visualize function
 

Detailed Description

template<typename T>
class bst< T >::Iterator

Iterator class.

Constructor & Destructor Documentation

◆ Iterator()

template<typename T>
bst< 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

◆ begin()

Iterator bst< T >::begin ( )
inline

pointer that points to begin

Returns
Iterator

◆ bst() [1/2]

bst< T >::bst ( const bst & b)
inlineexplicit

Copy constructor for bst class.

Parameters
bthe tree we want to copy

◆ bst() [2/2]

bst< T >::bst ( std::vector< T > _elements = {})
inlineexplicitnoexcept

Contructor for BST tree class.

Parameters
__elementsyou can directly pass a vector<T> so you don't have to do insert multiple times.

◆ end()

Iterator bst< T >::end ( )
inline

pointer that points to end

Returns
Iterator

◆ inorder()

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

inorder function.

Returns
vector<T>, the elements inorder.

◆ insert()

void bst< T >::insert ( T key)
inline

insert function.

Parameters
keykey to be inserted.

◆ level_order()

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

level order function

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

◆ operator!=()

template<typename T>
bool bst< 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 bst< T >::Iterator::operator* ( )
inline

operator * for type Iterator

Returns
T the value of the node

◆ operator++() [1/2]

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

operator ++ for type Iterator

Returns
Iterator&

◆ operator++() [2/2]

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

operator ++ for type Iterator

Returns
Iterator

◆ operator--() [1/2]

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

operator – for type Iterator

Returns
Iterator&

◆ operator--() [2/2]

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

operator – for type Iterator

Returns
Iterator

◆ operator=() [1/2]

bst & bst< T >::operator= ( const bst & b)
inline

operator = for bst class

Parameters
bthe tree we want to copy
Returns
bst&

◆ operator=() [2/2]

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

= operator for Iterator type

Parameters
indexthe current index
Returns
Iterator&

◆ postorder()

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

postorder function.

Returns
vector<T>, the elements postorder.

◆ preorder()

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

preorder function.

Returns
vector<T>, the elements preorder.

◆ remove()

void bst< T >::remove ( T key)
inline

remove function.

Parameters
keykey to be removed.

◆ search()

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

search function.

Parameters
keykey to be searched.
Returns
true if the key exists in the tree.

◆ size()

size_t bst< T >::size ( )
inline

size function

Returns
size_t the size of the tree

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream & out,
bst< T > & t )
friend

visualize function

Returns
.dot file that can be previewed using graphviz in vscode.

operator << for bst class


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