STL容器之bitset

简介: STL容器之bitset

简单介绍

bitset,通常用来存储的数据是二进制,所以后面涉及一些位运算或者是二进制的时候,使用bitset容器会比较方便。

使用的时候,仍然需要包含bitset的头文件

使用

bitset的容器的创建跟其他容器有点区别

<位数>, 其他容器中<>,写的是数据类型

注意: 在bitset容器中这里写的是位数

一般情况,类型传字符串就行

#include<iostream>
#include<bitset>
#include<string>
using namespace std;
int main()
{
  bitset<2> bi("11");  // 2 代表位数, 一般可传字符串类型
  cout << bi << endl;
  bitset<4> bit("11"); 
  cout << bit << endl; //如果位数不够,用0补齐(在前面补齐)
  cout << bit.flip() << endl;  // 全部取反 按位取反, 0变成1, 1变成0
  cout << bit.flip(0) << endl;  //将 0 + 1 位取反 
  cout << bit.all() << endl;    //返回是否有0
  cout << bit.any() << endl;   //返回是否有1
  cout << bit.none() << endl;  //返回是否没有1
  cout << bit.count() << endl; //计算1的个数
  return 0; 
}

>当然 bitset容器,支持所有的位运算,用bitset会让你的算法复杂度,下降很多,一般可以使用于优化奇偶性相关的问题,或者判断联通性之类的,(也可以在搜索的时候,优化访问标记)


相关文章
|
8月前
|
存储 缓存 C++
C++ 容器全面剖析:掌握 STL 的奥秘,从入门到高效编程
C++ 标准模板库(STL)提供了一组功能强大的容器类,用于存储和操作数据集合。不同的容器具有独特的特性和应用场景,因此选择合适的容器对于程序的性能和代码的可读性至关重要。对于刚接触 C++ 的开发者来说,了解这些容器的基础知识以及它们的特点是迈向高效编程的重要一步。本文将详细介绍 C++ 常用的容器,包括序列容器(`std::vector`、`std::array`、`std::list`、`std::deque`)、关联容器(`std::set`、`std::map`)和无序容器(`std::unordered_set`、`std::unordered_map`),全面解析它们的特点、用法
C++ 容器全面剖析:掌握 STL 的奥秘,从入门到高效编程
|
存储 搜索推荐 C++
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器2
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器
194 2
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器2
|
存储 C++ 容器
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器1
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器
195 5
|
存储 编译器 C++
【C++篇】揭开 C++ STL list 容器的神秘面纱:从底层设计到高效应用的全景解析(附源码)
【C++篇】揭开 C++ STL list 容器的神秘面纱:从底层设计到高效应用的全景解析(附源码)
199 2
|
安全 编译器 容器
C++STL容器和智能指针
C++STL容器和智能指针
|
存储 算法 C语言
【C++】详解STL的适配器容器之一:优先级队列 priority_queue
【C++】详解STL的适配器容器之一:优先级队列 priority_queue
|
设计模式 存储 缓存
【C++】详解STL容器之一的deque和适配器stack,queue
【C++】详解STL容器之一的deque和适配器stack,queue
|
存储 算法 C++
【C++】详解STL容器之一的 vector
【C++】详解STL容器之一的 vector
|
算法 C语言 C++
【C++】详解STL的容器之一:list
【C++】详解STL的容器之一:list
|
C++ 容器
C++ STL标准库 《map容器详解》
C++ STL标准库 《map容器详解》
112 0

热门文章

最新文章

下一篇
oss教程