我正在尝试在我的Fortran代码中实现哈希表,并且我在Internet上找到了一个示例,但我无法弄清楚该值是如何分配给密钥的。
以下链接重定向到我想要实现的Fortran模块,并提供了有关如何使用代码的示例。
http://didgeridoo.une.edu.au/womwiki/doku.php?id=fortran:fortran
有人可以解释一下如何为这个示例程序中的键分配一个值吗?
答案 0 :(得分:2)
该页面上的example program显示了如何使用它:
call hash_it(idorig, 1, idnew, ipos, .false.)
! call hash_it(idorig, ivar, idnew, ipos, noadd)
! idorig = ID to be recoded
! ivar = list no. (1, 2, ..., mlists)
! idnew = new ID
! ipos = position in hash table (rarely used)
! noadd = option: .false. adds new IDs
! .true. does not add new IDs, just looks up position
idorig
是要存储的(整数)值,idnew
是(整数)键。然后,您可以在idnew
中查找hlist
。
此实现只能存储整数,并使用值的哈希值作为键,即您无法自己指定键。如果这不符合您的需求,您可能还需要查看this question或Fortran wiki的答案。