C++中字符串的独特属性是什么?为什么它们可以通过关系运算符进行比较(例如,当试图按字母顺序对字符串数组进行排序时)?我试图利用这个“属性”来为一个表构建一个很好的散列函数,每个可能的字符串都不会发生冲突。另外,什么数据结构适用于此?我在考虑一个 vector ,因为我将不得不在不知道其中有多少个唯一单词的情况下浏览一个文档,而我只想浏览一次文档。
最佳答案
C++ 标准字符串本质上是字符 vector 。因此,比较字符串意味着从头开始逐个字符地比较它们。 我不确定你所说的“独特属性”是什么意思,但对于你的用例,任何哈希算法都应该这样做。 如果我正确理解你的用例,你可能想使用 std::set< YourHashType > 或 std::map。这样您就不必费心去查明是否已经添加了一个词。
关于c++ - 字符串的独特性质构建高效的哈希表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33942480/