摘要:
/* 不用关系符和if比较大小 */#define MAX(a, b) (a/b)?a:b#define MIN(a, b) (a/b)?b:a/* 上面的方法,有个缺点,b不能为0 下面的方法可以解决这个问题*/#define MAX(a, b) (a+b+abs(a-b))/2#define MIN(a, b) (a+b-abs(a-b))/2/* 交换两个数的值 */#define SWAP(a, b) (a=a^b, b=a^b, a=a^b)如果需要加入一段在main退出后执行的代码,可以用atexit函数注册一个函数。函数原型为void ()(void)void fun(void) 阅读全文
摘要:
基本概念所谓完美哈希函数,就是指没有冲突的哈希函数,即对任意的 key1 != key2 有h(key1) != h(key2)。设定义域为X,值域为Y, n=|X|,m=|Y|,那么肯定有m>=n,如果对于不同的key1,key2属于X,有h(key1)!=h(key2),那么称h为完美哈希函数,当m=n时,h称为最小完美哈希函数(这个时候就是一一映射了)。在处理大规模字符串数据时,经常要为每个字符串分配一个整数ID。这就需要一个字符串的哈希函数。怎么样找到一个完美的字符串hash函数呢?有一些常用的字符串hash函数。像BKDRHash,APHash,DJBHash,JSHash,R 阅读全文