#include <iostream>
using namespace std;
template<int N>
class BitSet
{
public:
BitSet()
{
set();
}
void set()
{
for (int i = 0; i < Nm; i++)
{
vtr[i] = 0;
}
}
void set(int n)
{
vtr[(n-1) / 32] |= (0x1 << ((n-1) % 32));
}
void Printf()
{
for (int i = N; i >0; i--)
{
cout<< (((vtr[(i-1)/32]>>((i-1)%32)) & 0x1) == 0 ? "0" : "1");
}
}
bool test(int n)
{
if (vtr[(n-1) / 32] >> ((n-1) % 32) & 0x1)return true;
return false; }
private:
enum{ _N_=(N-1) / (sizeof(size_t)*8)};
enum{Nm=_N_+1};
int vtr[Nm];
};
int main()
{
BitSet<344> bt;
bt.set(32);
//如此一个简单的bitset就完毕了,找出大量数据中是否存在莫个数字。
if (bt.test(32))
{
cout << "该位置存在" << endl;
}
else
{
cout << "该位置不存在" << endl;
}
bt.Printf();
return 0;
}

最新文章

  1. quartz定时+log4net日志+exchangeservice发邮件
  2. python安装numpy、scipy和matplotlib等whl包的方法
  3. 2013成都网络赛 J A Bit Fun(水题)
  4. C和指针 第六章 指针6.2 6.3字符串中查找的两个版本
  5. C语言中的深拷贝和浅拷贝
  6. Can&#39;t locate Switch.pm in @INC
  7. 放飞App:移动产品经理实战指南
  8. DELL 720XD和R820玩赏
  9. hdu1301 Jungle Roads (Prim)
  10. U-Boot 启动过程和源码分析(第二阶段)-main_loop分析
  11. 使用DateSet下载Excel
  12. VHDL和verilog应该先学哪个?
  13. C++版 - HDUoj 2010 3阶的水仙花数 - 牛客网
  14. GCC编译器原理(一)------交叉编译器制作和GCC组件及命令
  15. [转]谈谈Java中&quot;==&quot;与&quot;equals()&quot;
  16. canvas动画---- 太阳、地球、月球
  17. C#用Infragistics 导入导出Excel(一)
  18. 如何修改Mac截屏保存路径
  19. linux-centos6/7初始配置
  20. Windows内置系统账户:Local system/Network service/Local Service 区别

热门文章

  1. 多路开关模式的switch语句
  2. Spring+Spring MVC+Hibernate增查(使用注解)
  3. C语言中结构体大小计算
  4. 前端请求操作类型(get post put delete)
  5. 梦想CAD控件网页版关于自定义命令
  6. 梦想MxWeb3D协同设计平台 2019.02.28更新
  7. 09Oracle Database 数据表数据插入,更新,删除
  8. 小程序接口越过域名和https限制方法
  9. 低版本ie兼容问题的解决方案
  10. 洛谷——P1273 有线电视网