摘要: 首先给出一个对字符串比较好的散列函数,在有些地方把该算法称为“均匀哈希算法”。//提供一个对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;}这个散列函数可能会溢出,导致返回值为负数。注意这里选择 阅读全文
posted @ 2012-08-09 23:23 张朝阳 阅读(3347) 评论(2) 推荐(0) 编辑