1

我想知道是否有更适合我需要的结构。

我需要一本字典或字符串(单词)。我只需要知道一个给定的单词是否在字典中。

制作字符串,字符串的映射似乎很浪费内存。有没有更好的办法?

谢谢

4

4 回答 4

5

使用std::set<string>. 您可以使用std::set::find来检查一个单词是否存在。

于 2012-06-05T03:49:53.040 回答
0

你想要的是一个std::set< std::string >.

于 2012-06-05T03:50:12.450 回答
0

Naveen 和 K-ballo 的答案是正确的。在为您的需求选择正确的 STL 容器时,这里有一些内容可能会对您有所帮助。注意:这不考虑 C++11 类型,但它会帮助您开始使用 STL:在此处输入图像描述

于 2012-06-05T03:56:33.763 回答
0

的替代方案std::setstd::unordered_set。第一个通常实现为红黑树(对数复杂度),第二个是哈希表(平均常数时间复杂度)。unordered_set在 C++11、C++03 TR1 和 Boost 中可用。

于 2012-06-05T03:58:02.750 回答