STL库总结
STL
STL有很多已经封装好的函数,可以有效方便一些算法的实现,本文依次总结一下几种函数及用法
1.stack
2.queue
- priority_queue
- deque
3.map
- unorder_map
4.set
-
multiset 序列中的数是有序的,且可以存在重复的数
multiset<int>q; q.erase(it); //删除迭代器it指向的元素 q.insert(x);//插入x q.clear();//清空 q.erase(x);//删除所有值为 x 的数 q.empty();///容器为空返回true,否则返回false q.size()//元素个数 以下和迭代器有关 q.begin();//首个元素的迭代器 q.end();//最后一个元素的下一个位置的迭代器 q.count(x);//容器中 x 的个数 q.find(x);//容器中第一个x的位置(迭代器),如果没有就返回q.end() q.erase(it); //删除迭代器it指向的元素 q.lower_bound(x);//第一个大于等于x的数的迭代器 q.upper_bound(x);//第一个大于x的数的迭代器
5.vector
6.pair
一个二元组,sort排序时默认第一个优先
int a,b;
pair<int,int> q;
q={a,b}
7.string
8.bitset
bitset<n>t; // 使t成为一个有n位二进制的数
__builtin_popcount(n)//告诉我们n的二进制数有多少个1
转化
string s="101001"
bitset<49>t;
t=bitset<49>(s);