什么是bitset

bitset 是STL库中的二进制容器,根据C++ reference 的说法,bitset可以看作bool数组,但优化了空间复杂度和时间复杂度,并且可以像整形一样按位与或。

使用方法

申明

bitset的申明要指明长度

bitset<length> bi

这样就申明了一个长度为length的名叫bi的bitset

赋值

bitset重载了[]运算符,故可以像bool数组那样赋值

bi[] = ;

这样就能将第二位赋值为1

常用函数

b1 = b2 & b3;//按位与
b1 = b2 | b3;//按位或
b1 = b2 ^ b3;//按位异或
b1 = ~b2;//按位补
b1 = b2 << 3;//移位
int one = b1.count();//统计1的个数

优化作用

常常碰到处理的数组只有0和1的变化,此时就可以使用bitset优化。比如求两个集合的交集可以使用按位与运算,求并集可以使用按位或运算

最新文章

  1. StringBuffer与StringBuilder的简单理解
  2. Mysql新知识点150928
  3. char和vchar
  4. onClick(View) of type new View.OnClickListener(){} must override a superclass method
  5. 重要性!important
  6. Js正则表达式提取图片地址
  7. 文件下载cordovaFileTransfer:cordova.file.documentsDirectory is null
  8. python xlrd对excel的读取功能
  9. H5 字体属性补充
  10. CentOS 6.5系统中安装配置MySQL数据库
  11. uva-529-枚举
  12. 1-100求和 sum(range(101))
  13. Spring data jpa Specification查询关于日期的范围搜索
  14. 【转】Tesla Model X的车门设计问题
  15. Spark2 探索性数据统计分析
  16. 使用ViewPager实现android软件使用向导的功能
  17. Flume多Sink方案修正
  18. GDI+(一):GDI+ 绘图基础
  19. usb摄像头的检测
  20. Fog

热门文章

  1. 【51NOD-0】1085 背包问题
  2. HDU 1159 Common Subsequence (dp)
  3. linux进程管理-定时定期执行任务
  4. Python脚本 - 常用单位转换
  5. &quot;Flags mismatch irq&quot; register interrupt handler error
  6. Style2Paints:用AI技术为线稿快速上色的工具(GitHub 3310颗星)
  7. python基础===flask使用整理(转)
  8. 独立服务器远程重装Linux系统
  9. Makefile 跟着走快点
  10. ado中dispose和close的区别,摘自网络