如何散列字符串以获取数组中的位置

时间:2013-10-15 17:35:59

标签: arrays string hash

我正在做这个练习,我必须使用邻接列表方法用国家名称制作图表。

无论如何,我必须根据名称在列表中存储包含国家/地区的节点。

但是我需要一个哈希函数来收集国家的名称并给我一个合理的数字来存储在数组中。

2 个答案:

答案 0 :(得分:0)

这个怎么样:

  

String.GetHashCode()

答案 1 :(得分:0)

散列字符串的方法有很多种。通常,散列函数采用容器的大小,并使用它来为您提供0到(size-1)之间的数字。例如,

int hash( char* string, int size )
{
    int len = strlen( string );
    int hash = 0;
    for( int i = 0; i < len; ++i )
        hash += string[ i ];

    return hash % size;
}