我想知道是否有更适合我需求的结构。
我需要一本字典或字符串(单词)。我需要知道的是,如果给定的单词在字典中。
制作字符串,字符串的映射似乎浪费了内存。还有更好的方法吗?
由于
答案 0 :(得分:5)
使用std::set<string>
。您可以使用std::set::find
检查单词是否存在。
答案 1 :(得分:0)
你想要的是std::set< std::string >
。
答案 2 :(得分:0)
Naveen和K-ballo的答案是正确的。这里可以帮助您选择合适的STL容器以满足您的需求。注意:这不考虑C ++ 11类型,但它将帮助您开始使用STL:
答案 3 :(得分:0)
std::set
的替代方案是std::unordered_set
。第一个通常实现为红黑树(对数复杂度),第二个是哈希表(平均恒定时间复杂度)。 unordered_set
在C ++ 11,C ++ 03 TR1和Boost中可用。