j******2 发帖数: 362 | 1 在那道"找两个超大文件里共同的url"的题里,要把每个url算hash再模10,存到小文件
里,不知道怎么算string的hash,找到一个
#include
void main()
{
string s=...
locale loc;
const collate& coll = use_facet >(loc);
long hash = coll.hash(s.data(),s.data()+s.size());
}
不知道是不是常规的算法?对locale, collate, use_facet都很陌生。 | j******2 发帖数: 362 | 2 又找到个,这个是最好的吗?
string s;
hash sh;
size_t h=sh(s); | h*******e 发帖数: 1377 | 3 所有int(arr[i] - 'a')相乘除以一个大质数 是一种方法。。 |
|