#define shift 5
#define tail 0x1F
#define bitword 32
#define N 10000000
int a[1+N/bitword];
void Set(int i){
a[i>>shift] |= 1<<(i&tail);
}
void Clr(int i){
a[i>>shift] &= ~(1<<(i&tail));
}
int test(int i){
return a[i>>shift] & 1<<(i&tail);
}
=============
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js "> </script>
本文介绍了一种使用位操作来实现集合元素快速设置与检测的方法。通过定义宏与数组,可以高效地进行元素的设置(Set)、清除(Clr)及测试(test)操作。此方法适用于内存紧凑型应用。
3545

被折叠的 条评论
为什么被折叠?



