• waf20022003
    了解作者
  • Visual C++
    开发工具
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 5
    下载次数
  • 2010-04-15 13:42
    上传日期
C++ 实现的Hash函数,功能强大,希望大家指正
hash.rar
  • hash.h
    1.1KB
  • hash.c
    1.3KB
内容介绍
/* Filename:Hash.c * Function: Implement file of the Hash * * author: loop111@gmail.com * revised by: * * version: V01 * Date: 2009-04-27 */ #include "Hash.h" const unsigned LHash_maxBitLimit = ((1<<LHASH_MAXBIT_NBITS)-1); const unsigned LHash_maxEntriesLimit = ((1<<LHASH_MAXENTRY_NBITS)-1); const unsigned minHashBits = 2; /* minimum no. bits for hashing tables smaller than this use linear* search to save space */ const float fillRatio = 0.8f; /* fill ration at which the table is* expanded and rehashed */ //Hash: return a hash value for given label name unsigned long HashKey(unsigned long key, unsigned maxBits) { return (((key * 1103515245 + 12345) >> (30-maxBits)) & hashMask(maxBits)); } unsigned long StringHashKey(char* key,unsigned maxBits) { unsigned long i = 0; for (; *key; key++) { i += (i << 3) + *key; } return HashKey(i, maxBits); } unsigned long IntHashKey(int key, unsigned maxBits) { return HashKey((unsigned long)key,maxBits); } unsigned long Int2HashKey(int key1,int key2, unsigned maxBits) { unsigned long i = key1; i += (i << 8) + key2; return HashKey(i, maxBits); } unsigned long roundSize(unsigned size) { if (size < (unsigned)hashSize(minHashBits)) { return size; } else { return (unsigned)((size + 1)/ fillRatio); } }
评论
    相关推荐
    • 全排列的Hash函数(JAVA)
      NULL 博文链接:https://128kj.iteye.com/blog/1699795
    • C++画数学函数图象
      1. vs2008里弄了一个画数学函数的类,基本的函数都可以画,当然复杂的也可以,只是函数本身需要调用者设计,已经变量的范围 2. 最后的图象提供两种方式输出,一个是bmp文件,一个是gif图象,gif需要注意它的256种...
    • 图形化hash函数 数据结构
      数据结构中hash函数的实现,自己写的,VC平台。
    • c++MD5hash摘要源代码
      本程序是c++程序,实现MD5的hash摘要
    • C++ hash.zip
      散列,散列函数采用除留余数法,解决冲突使用链接法,每个槽的链表为带头结点的双向链表。使用这种方法的关键是选择一个合适的除数m,可以选择m是与2的整数幂不太接近的质数
    • C/C++监测内存泄露的函数
      C/C++监测内存泄露,很好用,自已改了点,给C++的童鞋分享下
    • open_addressing_hash_table:在 C++ 上打开寻址哈希表
      C++ 上打开寻址哈希表 希望在这里看到功能齐全的 C++ 容器在 C++ 上实现快速和紧凑的开放寻址哈希表。 概念证明(参见 benchmark.cpp)表明,这种映射可以比std::unordered_map快 3 倍。 API 应该很像std::...
    • Hash运算函数
      C、C++都可以用。虽然只是一个函数,但已经包括加密和解密的功能,很简单很实用,可以加字符串进行加密和解密。只要将该函数放到你自己的程序里就行了,至于KEY的定义,你可以用我给的,也可以自己改。
    • hash_map:C++ STL 哈希映射容器
      hash_map 的成员函数实现: size_t hash (const Key& key); size_t size(); iterator begin(); iterator end(); iterator rbegin(); iterator rend(); iterator insert (const Key& key, const Value& value); ...
    • 哈希表应用C++_STL_hash
      哈希表应用C++_STL_hash 哈希表应用C++_STL_hash 哈希表应用C++_STL_hash