set用法
特点
所有元素在插入时,会自动升序排序,并会自动去重。
set<T>se;
T是类型,se是容器名
用法 | 函数 | 示例 |
---|---|---|
输入 | .insert(元素) | .insert(1) |
删除 | .earse(元素) | .earse(2) |
查找 | .find(元素) | .find(3) |
大小 | .size() | .size() |
判空 | .empty() | .empty |
查找时返回数据类型是指针型,当找到时返回下表,反之返回.end
bitset用法
bitset介绍
C++的 bitset 在 bitset 头文件中,它是一种类似数组的结构,它的每一个元素只能是0或1,每个元素仅用1bit空间,相当于一个char元素所占空间的八分之一。
bitset中的每个元素都能单独被访问,例如对于一个叫做foo的bitset,表达式foo[3]访问了它的第4个元素,就像数组一样。
bitset有一个特性:整数类型和布尔数组都能转化成bitset。
bitset的大小在编译时就需要确定。如果你想要不确定长度的bitset,请使用vector。
bitset构造函数
用字符串构造时,字符串只能包含 ‘0’ 或 ‘1’ ,否则会抛出异常。
构造时,需在<>中表明bitset 的大小(即size)。
bitset的大小在编译时就需要确定。
#include<bitset>
std::bitset<4> foo; //创建一个4位的位集,每一位默认为0,当整数的大小小于位数时,高位填充为0
std::bitset<4> foo(5); //用整数初始化 5二进制位:101 foo值:0101 当整数的大小超过位数时,从整数二进制的低位开始赋值,高位被舍弃
std::bitset<4> foo(19); //用整数初始化,19二进制位:10011 foo值:0011
std::bitset<4> foo(std::string("0101")); //字符串初始化,字符串中必须只能含有‘0’/‘1’