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

Class for BST tree. More...

#include <bst.h>

Classes

class  Iterator
 Iterator class. More...
 

Public Member Functions

 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 >

Class for BST tree.

Constructor & Destructor Documentation

◆ bst() [1/2]

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

◆ bst() [2/2]

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

Copy constructor for bst class.

Parameters
bthe tree we want to copy

Member Function Documentation

◆ begin()

template<typename T>
Iterator bst< T >::begin ( )
inline

pointer that points to begin

Returns
Iterator

◆ end()

template<typename T>
Iterator bst< T >::end ( )
inline

pointer that points to end

Returns
Iterator

◆ inorder()

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

inorder function.

Returns
vector<T>, the elements inorder.

◆ insert()

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

insert function.

Parameters
keykey to be inserted.

◆ level_order()

template<typename T>
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>
bst & bst< T >::operator= ( const bst< T > & b)
inline

operator = for bst class

Parameters
bthe tree we want to copy
Returns
bst&

◆ postorder()

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

postorder function.

Returns
vector<T>, the elements postorder.

◆ preorder()

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

preorder function.

Returns
vector<T>, the elements preorder.

◆ remove()

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

remove function.

Parameters
keykey to be removed.

◆ search()

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

search function.

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

◆ size()

template<typename T>
size_t bst< T >::size ( )
inline

size function

Returns
size_t the size of the tree

Friends And Related Symbol Documentation

◆ operator<<

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