精易论坛

标题: 哈希表HashTable模块源码-纯易语言实现 [打印本页]

作者: 1425113841    时间: 2024-8-8 14:42
标题: 哈希表HashTable模块源码-纯易语言实现

哈希表HashTable模块源码-纯易语言实现
https://125.confly.eu.org/forum.php?mod=viewthread&tid=14829957
(出处: 精易论坛)
仅仅使用系统核心支持库的命令实现, 没有汇编! 非常适合不懂哈希表原理的的新手学习.

继上次的的模块改进了哈希函数, 使用FNV-1a, 所以现在更快咯.

由于易语言没有无符号64位整形, 那就只好用32位了, 还有易语言只有有符号整型位异或函数只支持整数型, 为了确保结果没有负数影响, 强制将结果转整了, 所以与原生FNV-1a的结果还算不同的. 但是简单测试了以下发现hash分布还是比较均匀的.

map.e (17.85 KB, 下载次数: 68)


作者: 亿意亦易    时间: 2024-8-8 16:43
多线程需要加锁吗
作者: 1425113841    时间: 2024-8-8 16:45
亿意亦易 发表于 2024-8-8 16:43
多线程需要加锁吗

读不用,有写就需要使用读写锁,这样就可以并发读
作者: SoloCat    时间: 2024-8-11 14:47
还是用C++的map吧
作者: 可爱的小白    时间: 2024-9-2 20:59
666666666666666666666666
作者: 原始世界    时间: 2024-9-2 21:58
谢谢分享
作者: candi    时间: 2024-10-3 17:08
感谢分享
作者: dgyh    时间: 2024-10-15 15:38
这类产品太多了,楼主要介绍你这款模块的设计特点
作者: 1425113841    时间: 2024-10-15 17:12
dgyh 发表于 2024-10-15 15:38
这类产品太多了,楼主要介绍你这款模块的设计特点

没有什么特点, 学习用, 不懂可以下载学习, 使用可以不用我这个
作者: 阿龙    时间: 2024-10-21 02:00
我没下载源码看,但是第一次时间长后面时间短是因为扩容因子可能为倍数增长,而且申请的内存应该是后面才会释放,后面都是使用已经申请好的内存会快
作者: futieming    时间: 2024-12-9 09:00
#在这里快速回复#简单测试了以下发现hash分布还是比较均匀的.
作者: 綄镁の「示申」    时间: 2024-12-17 07:48
感谢分享,很给力!~
作者: lhn0925    时间: 2024-12-20 08:31
学习一下
作者: 风一样存在    时间: 2024-12-25 18:34
我也想和华庭大哥一样豪横,实力不允许
作者: 白云飘飘    时间: 2025-2-7 08:29

感谢分享,很给力!~
作者: xzc1215    时间: 2025-2-16 08:31
谢谢分享下载学习一下




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4