标题:字符串转哈希值的问题
只看楼主
令狐少侠56
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:320
专家分:175
注 册:2014-4-10
结帖率:58.18%
已结贴  问题点数:40 回复次数:1 
字符串转哈希值的问题
人名:四个字符组成,前三个是字符,第四个是数字。
将它转化为整数
name[4]:保存字串
为什么可以用下面的方法计算,不会出现重复的吗。
学生的名字前三位是大写英文字母,第4位是数字,也就是说最多有26*26*26*10个学生,每个学生的名字都可以用一个数字表示。
name[0]-'A')*26*26*10+(name[1]-'A')*26*10+(name[2]-'A')*10+name[3]-'0'
搜索更多相关主题的帖子: 炸弹爆炸 字符串 
2017-02-13 23:28
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
得分:40 
我觉得:这就是26进制转10进制,当然不会重复,其实乘以10都没必要,想想16进制怎么转十进制就明白了。
举一个浅显的例子:假如对全班同学的语文数学成绩进行排序(分值100),通常排序方法会是先比较语文,如果语文成绩相等再比较数学,其实还有一个一次性的比较方法,我觉得你能很轻松地想到:语文*1000+数学,把语文数学成绩合并到一个6位数的整数里,这样就不会因计算产生交叉重复了。

[此贴子已经被作者于2017-2-16 10:14编辑过]

2017-02-16 09:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-474186-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.371372 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved