现在的位置: 首页 > 综合 > 正文

《位图 – Bitmap》

2017年12月20日 ⁄ 综合 ⁄ 共 776字 ⁄ 字号 评论关闭

数据的快速查找、判重和删除。

 

用12M的内存可以表示8位数的电话号码:

9999999 = 99M bit = 12M Bytes

 

==============================================================================

==============================================================================

 

#define BITSPERWORD 32

#define SHIFT 5

#define MASK 0x1F

#define N 10000000

int a[1 + N/BITSPERWORD];

void set (int i){a[i>>SHIFT] |=(1<<(i&MASK));}

void clr (int i){a[i>>SHIFT] &=(1<<(i&MASK));}

void test (int i){return a[i>>SHIFT]& (1<<(i&MASK));}

 

==============================================================================

==============================================================================

设计数据结构,可以快速返回0-10亿中哪些数出现了。

 

==============================================================================

==============================================================================

 

 

抱歉!评论已关闭.