implement-trie-prefix-tree 1.0.0
Implement Trie (Prefix Tree)
Loading...
Searching...
No Matches
trie_node Class Reference

Definition for trie tree node. More...

Collaboration diagram for trie_node:

Public Member Functions

 trie_node (char c)
 
trie_nodeadd_child (char c)
 
trie_nodefind (char c)
 
bool is_last ()
 
bool set_last (bool last=true)
 

Private Attributes

char val
 
list< unique_ptr< trie_node > > children
 
bool word_end
 

Detailed Description

Definition for trie tree node.

Definition at line 8 of file main.cpp.

Constructor & Destructor Documentation

◆ trie_node()

trie_node::trie_node ( char  c)
inline

Definition at line 16 of file main.cpp.

16: val(c), children(), word_end(false) {}
char val
Definition main.cpp:11
list< unique_ptr< trie_node > > children
Definition main.cpp:12
bool word_end
Definition main.cpp:13

Member Function Documentation

◆ add_child()

trie_node * trie_node::add_child ( char  c)
inline

Definition at line 17 of file main.cpp.

18 {
19 unique_ptr<trie_node> child = make_unique<trie_node>(c);
20 trie_node* child_ptr = child.get();
21 children.push_back(move(child));
22 return child_ptr;
23 }
Definition for trie tree node.
Definition main.cpp:9

References children.

Referenced by Trie::insert().

◆ find()

trie_node * trie_node::find ( char  c)
inline

Definition at line 24 of file main.cpp.

25 {
26 for (const auto& child: children)
27 if (child.get()->val == c)
28 return child.get();
29 return nullptr;
30 }

References children.

Referenced by Trie::insert(), Trie::search(), and Trie::startsWith().

◆ is_last()

bool trie_node::is_last ( )
inline

Definition at line 31 of file main.cpp.

31{ return word_end; }

References word_end.

Referenced by Trie::search().

◆ set_last()

bool trie_node::set_last ( bool  last = true)
inline

Definition at line 32 of file main.cpp.

32{ return word_end = last; }

References word_end.

Referenced by Trie::insert().

Field Documentation

◆ children

list<unique_ptr<trie_node> > trie_node::children
private

Definition at line 12 of file main.cpp.

Referenced by add_child(), and find().

◆ val

char trie_node::val
private

Definition at line 11 of file main.cpp.

◆ word_end

bool trie_node::word_end
private

Definition at line 13 of file main.cpp.

Referenced by is_last(), and set_last().


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