读书人

有一组随机的字符串,想用一个算法把它

发布时间: 2012-03-28 15:40:03 作者: rapoo

有一组随机的字符串,想用一个算法把它们放到四个组中, 取出时用同一方法计算所在位置,哪位大虾有好办法?
如题

[解决办法]
这就是典型的hash算法要求么:)

简单的方法是把字符串所有的字符都异或后得到一个值,用他分类

unsigned char GetHash(const unsigned char * str)
{
int iLength = strlen(str);
int iPos;
unsigned char hash = str[0];
for(iPos=1; iPos < iLength; iPos++)hash ^= str[iPos];

return (hash & 0x3) ^ ((hash >> 2) & 0x3)^ ((hash >> 4) & 0x3)^ ((hash >> 6) & 0x3);
}

读书人网 >C++

热点推荐