需要对C++ TIE数据结构的一些帮助

需要对C++ TIE数据结构的一些帮助,c++,trie,C++,Trie,我试图编写一个C++函数,它与字典中是否存在字符串匹配。它可以是部分字符串或完整字符串。所以我把每一行都读了一遍 trie< std::string, int > dict; dict.insert(make_pair(line,i++)); // when i search for a string it always returns invalid. if(dict.find("AA")!=

我试图编写一个C++函数,它与字典中是否存在字符串匹配。它可以是部分字符串或完整字符串。所以我把每一行都读了一遍

           trie< std::string, int > dict;
           dict.insert(make_pair(line,i++));
            // when i search for a string it always returns invalid.
           if(dict.find("AA")!=dict.end())
               cout<<valid<<endl;
           else
               cout<<invalid<<endl;
谁能帮我一下吗。我添加了在字典中阅读单词的代码

if(myfile.is_open())
{

      int i=0;
  string line;

      cout<<dict.size()<<endl;
      while(!myfile.eof())
  {
      getline(myfile,line);
      dict.insert(make_pair(line,i++));



  }
 } 
如果使用,则表示声明中需要更多模板参数来告诉它如何拆分键,以便它可以执行trie索引,尤其是前缀搜索:

trie< std::string, int, string_trie_e_access_traits<>, pat_trie_tag, trie_prefix_search_node_update> dict;

还要注意在链接的示例代码的搜索函数中使用了prefix_range。

如果不知道必要的声明和条件,这个问题是不可能合理回答的variables@aaa我用getline读了一行,检查了dict的大小,发现它是179000。在使用dict.find之后,我使用它=dict.findAA检查它返回的内容;*it.second的值返回值为238803000?无论如何,这个问题是无法回答的——你应该清楚地说明你想要什么。在我看来,您已经做了您想要做的事情。您正在使用什么样的trie实现。@jpalecek。不,这不是家庭作业。没有人会要求在家庭作业中使用GNU trie