problemscpp
A collection of my answers to algorithm problems in c++.
Public 成员函数 | Public 属性 | 所有成员列表
acwing::acwing4398::TrieNode结构体 参考

字典树节点 更多...

#include <acwing.h>

Public 成员函数

 TrieNode (char ch)
 
 ~TrieNode ()
 
void insert (const string &str, int start, string *origin)
 
TrieNodesearch (const string &str, int start)
 

Public 属性

char ch
 
unordered_map< char, TrieNode * > nexts = unordered_map<char, TrieNode *>()
 
unordered_set< string * > origin = unordered_set<string *>()
 

详细描述

字典树节点

在文件 acwing.h1960 行定义.

构造及析构函数说明

◆ TrieNode()

acwing::acwing4398::TrieNode::TrieNode ( char  ch)
inlineexplicit

在文件 acwing.h1965 行定义.

1965: ch(ch) {}

被这些函数引用 insert().

◆ ~TrieNode()

TrieNode::~TrieNode ( )

在文件 acwing.cpp6527 行定义.

6527 {
6528 for(const auto [k, v]: this->nexts) {
6529 delete v;
6530 }
6531 }
unordered_map< char, TrieNode * > nexts
Definition: acwing.h:1962

引用了 nexts.

成员函数说明

◆ insert()

void TrieNode::insert ( const string &  str,
int  start,
string *  origin 
)

在文件 acwing.cpp6504 行定义.

6504 {
6505 if(!this->nexts.contains(str[start])) {
6506 this->nexts[str[start]] = new TrieNode(str[start]);
6507 }
6508 if(origin != nullptr) {
6509 this->nexts[str[start]]->origin.insert(origin);
6510 }
6511 if(str.length() - start != 1) {
6512 this->nexts[str[start]]->insert(str, start + 1, origin);
6513 }
6514 }
unordered_set< string * > origin
Definition: acwing.h:1963

引用了 TrieNode(), nexts , 以及 origin.

被这些函数引用 acwing::acwing4398::main().

◆ search()

TrieNode * TrieNode::search ( const string &  str,
int  start 
)

在文件 acwing.cpp6516 行定义.

6516 {
6517 this->ch = this->ch;
6518 if(this->nexts.contains(str[start])) {
6519 if(start + 1 == str.length()) {
6520 return this->nexts[str[start]];
6521 }
6522 return this->nexts[str[start]]->search(str, start + 1);
6523 }
6524 return nullptr;
6525 }

引用了 ch , 以及 nexts.

被这些函数引用 acwing::acwing4398::main().

类成员变量说明

◆ ch

char acwing::acwing4398::TrieNode::ch

在文件 acwing.h1961 行定义.

被这些函数引用 search().

◆ nexts

unordered_map<char, TrieNode *> acwing::acwing4398::TrieNode::nexts = unordered_map<char, TrieNode *>()

在文件 acwing.h1962 行定义.

被这些函数引用 ~TrieNode(), insert() , 以及 search().

◆ origin

unordered_set<string *> acwing::acwing4398::TrieNode::origin = unordered_set<string *>()

在文件 acwing.h1963 行定义.

被这些函数引用 insert() , 以及 acwing::acwing4398::main().


该结构体的文档由以下文件生成: