首页 > 解决方案 > Trie 代码中的 pCrawl 变量指的是什么?

问题描述

像这样的各种站点使用一个pCrawl变量来跟踪指针在 Trie 数据结构中的位置。我可以看到为什么变量的“爬行”部分是有意义的,如果这意味着变量在树周围“爬行”......但是p指的是什么?

示例方法: void insert(struct TrieNode *root, string key) { struct 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; 

}

标签: naming-conventionstrievariable-names

解决方案


通常,在C语言中,作为变量名前缀的小写字母p可以解释为pointer. 您提供的示例就是这种情况。

这绝不是一个明确的规则,只是到处遵循的命名约定。


推荐阅读