我需要最有效的方法来确定字符串是否在单词列表中(这是所有单词的文本文件)。
显然我可以创建一个ofstream对象并遍历每一行以查看该字符串是否存在。
有更快的方法吗?也许通过使用地图?
由于
答案 0 :(得分:0)
要查找多个单词列表中的特定单词,我会使用std::unordered_set
,这是另一个名称的哈希表。
基本上:
find()
查看它是否在集合中。显然,如果你只想搜索一个单词,那么加载到一个集合中就没有意义了。只需阅读文件并随时查看(因为平均而言,您只需阅读文件的一半,这显然比阅读整个文件快50%)