摘要:
首先给出一个对字符串比较好的散列函数,在有些地方把该算法称为“均匀哈希算法”。//提供一个对string进行散列的函数int hashString(const string &str){ string s; if(str.size()>1024) //如果str太长,则只取前1024个字符 s=str.substr(0,1024); else s=str; int rect=0; for(int i=0;i<s.size();++i) rect=rect*37+s[i]; //Horner法则 return rect;}这个散列函数可能会溢出,导致返回值为负数。注意这里选择 阅读全文