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

splay tree class More...

#include <splay_tree.h>

Classes

class  Iterator
 Iterator class. More...
 

Public Member Functions

 splay_tree (std::vector< T > v={}) noexcept
 Construct a new splay tree object.
 
 splay_tree (const splay_tree &s)
 Copy constructor for splay tree class.
 
splay_treeoperator= (const splay_tree &s)
 operator = for splay tree class
 
void clear ()
 clear function
 
void insert (T key)
 insert function
 
void remove (T key)
 remove function
 
bool search (T key)
 search function
 
size_t size ()
 size function
 
Iterator begin ()
 
Iterator end ()
 
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, splay_tree< T > &t)
 visualize function
 

Detailed Description

template<typename T>
class splay_tree< T >

splay tree class

Constructor & Destructor Documentation

◆ splay_tree() [1/2]

template<typename T>
splay_tree< T >::splay_tree ( std::vector< T > v = {})
inlineexplicitnoexcept

Construct a new splay tree object.

Parameters
vvector<T> initializer vector

◆ splay_tree() [2/2]

template<typename T>
splay_tree< T >::splay_tree ( const splay_tree< T > & s)
inlineexplicit

Copy constructor for splay tree class.

Parameters
sthe tree we want to copy

Member Function Documentation

◆ inorder()

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

inorder function.

Returns
vector<T>, the elements inorder.

◆ insert()

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

insert function

Parameters
keythe key to be inserted

◆ level_order()

template<typename T>
std::vector< std::vector< T > > splay_tree< T >::level_order ( )
inline

level order function

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

◆ operator=()

template<typename T>
splay_tree & splay_tree< T >::operator= ( const splay_tree< T > & s)
inline

operator = for splay tree class

Parameters
sthe tree we want to copy
Returns
splay_tree&

◆ postorder()

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

postorder function.

Returns
vector<T>, the elements postorder.

◆ preorder()

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

preorder function.

Returns
vector<T>, the elements preorder.

◆ remove()

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

remove function

Parameters
keythe key to be removed

◆ search()

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

search function

Parameters
key
Returns
true if key exists in the tree
false otherwise

◆ size()

template<typename T>
size_t splay_tree< 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,
splay_tree< T > & t )
friend

visualize function

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

operator << for splay tree class


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