Inserting to Trie
Inserting to Trie
我正在尝试为我的trie结构实现插入功能,这是我的struct
struct Trie {
bool isWord;
char letter;
Trie *letters[27];
Trie() {
isWord = false;
for ( int i = 0; i < NumChars; i += 1 ) {
letters[i] = NULL;
}
}
};
这就是我尝试插入功能的方法
void insertin( Trie &node, const std::string &word )
{
int i = 0;
while (word[i] != ' '){
int c = word[i] - 'a';
node.letters[c]->letter = word[i];
node = node.letters[c];
i++;
}
node.isWord = true;
}
在我设置node = node.letters[c];
时获取" =" 运算符的错误,我无法使用" =" 分配相同的类型?还是我必须超负荷。还有一个偶然的错误,任何建议或调试帮助都会有所帮助!..这是我的完整程序http://ideone.com/mqcbo
节点是类型" trie",node.letters [c]类型为" trie*"。尝试node = *(node.letters [c]) - 但请确保node.letter [c]不是null。
我认为您不想将节点设置为等于要插入的项目。我尚不清楚什么是列表,词典还是其他节点。如果它是字典(这是实现尝试的一种方法),那么显然您将要更新键值对,而不仅仅是替换条目。如果您的列表您可能想附加条目而不是更换条目。
编辑:另外,似乎您永远不会在节点上创建新尝试,只有27次尝试在顶级,当您深入一层时会发生什么?
相关文章:
- "error: no matching function for call to"构造函数错误
- 调用专用模板时出错"no matching function for call to [...]"
- C++ Singleton - Prevent ::instance() to variable
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- Visual Studio Code "undefined reference to `WinMain@16'"
- 使用 GCC 卸载的 OpenMP 卸载失败,并出现"Ptx assembly aborted due to errors"
- 如何解决"invalid conversion from 'char' to 'const char*'"
- 使用 MATLAB 编码器生成C++代码:编译错误"undefined reference to `rgb2gray_tbb_real64'"
- 这个极客对极客的trie实现是否存在内存泄漏问题
- 尝试链接我的着色器时,我收到错误代码"error c5145 must write to gl_position"
- Python str to C++ to Python str
- 为什么创建友元类的实例会导致"undefined reference to"错误?
- System.InvalidCastException - SQL to C++ - safe_cast<float>
- 使用 cmake 的 Linux 终端上的"Conversion to non-scalar type is requested"错误
- 在 c++ 中实现 Trie 时出现分段错误
- "no matching function for call to 'Vector::Vector'"错误
- vector<vector<double>> to mxArray using memcpy
- Tensorflow c++ api undefined reference to 'tflite::D efaultErrorReporter()'
- 当覆盖存在时调用基本虚拟"binded to object"函数
- Inserting to Trie