Trie 代码中的 pCrawl 变量指的是什么?
What is the pCrawl variable referring to in Trie code?
各种站点 like this one 使用 pCrawl
变量来跟踪指针在 Trie 数据结构中的位置。我明白为什么变量的 "crawl" 部分有意义,如果这意味着变量在树周围 "crawling"...但是 p
指的是什么?
示例方法:
void insert(struct TrieNode *root, string key)
{
结构 TrieNode *pCrawl = root;
for (int i = 0; i < key.length(); i++)
{
int index = key[i] - 'a';
if (!pCrawl->children[index])
pCrawl->children[index] = getNode();
pCrawl = pCrawl->children[index];
}
// mark last node as leaf
pCrawl->isEndOfWord = true;
}
通常,在C
语言中,作为变量名前缀的小写p
可以解释为pointer
。您提供的示例中就是这种情况。
这绝不是明确的规则,只是到处遵循的命名约定。
各种站点 like this one 使用 pCrawl
变量来跟踪指针在 Trie 数据结构中的位置。我明白为什么变量的 "crawl" 部分有意义,如果这意味着变量在树周围 "crawling"...但是 p
指的是什么?
示例方法: void insert(struct TrieNode *root, string key) { 结构 TrieNode *pCrawl = root;
for (int i = 0; i < key.length(); i++)
{
int index = key[i] - 'a';
if (!pCrawl->children[index])
pCrawl->children[index] = getNode();
pCrawl = pCrawl->children[index];
}
// mark last node as leaf
pCrawl->isEndOfWord = true;
}
通常,在C
语言中,作为变量名前缀的小写p
可以解释为pointer
。您提供的示例中就是这种情况。
这绝不是明确的规则,只是到处遵循的命名约定。