S T L
如何遍历一个STL容器:
set举例
for(set<int>::iterator it=s.begin();it!=s.end();it++)
cout<<*it<<endl;
Bitset:
定义:bitset< N >s:N表位数
大二进制数
支持 ~ & | ^ << >> == !=
也可以类似于数组直接访问\(s[k]\),支持赋值和取值
\(s.count()\):返回有多少位为\(1\)
\(s.any()\):有\(1\)返回\(true\)
\(s.none()\):没\(1\)返回\(true\)
Set
++\(it\)
时间复杂度:\(O(log_n)\)
\(s.find(x)\) :查找元素\(x\) ,有的话返回迭代器,否则返回\(s.end()\)
\(s.upper\) _ \(bound(x)\)
\(s.lower\) _ \(bound(x)\)
复杂度\(O(log_n)\)
返回迭代器
\(s.erase(x)\):可删迭代器和值,如果删值会全删光,如果想删一个:\(multiset\)可以执行:
if((it=s.find(x))!=s.end())s.erase(it);
复杂度\(O(k+log_n)\)
\(s.count(x)\):有多少个元素值为\(x\)。
复杂度\(O(k+log_n)\)
Map
看成一个大桶或是一棵平衡树