STL
STL和其他的一些东西
尽管巨佬都说:“STL常数大,你手写它不香吗?”
但是,STL确实很香。。。
queue
首先,查一下词典

所以,其实就是一个先进先出的容器
1 | queue<变量名> q; //存的变量可以是int,char等,也可以是struct等 |
用处见BFS
stack
还是查一下字典

可以发现,stack是一个后进先出的容器
1 | stack<变量名> st; //存的变量可以是int,char等,也可以是struct等 |
vector
vector,可以当数组用,但又比数组高级!!!当然会更慢qwq
1 | vector<变量名> v; |
大家应该都不喜欢写for(int i=0;i<v.size();i++),所以
for(auto x:v)就可以遍历元素了!!!
vector常被在图论中用了存图
bitset
bitset 是标准库中的一个存储 0/1的大小不可变容器。严格来讲,它并不属于 STL。
使用bitset可以吧时间复杂度降低到原来的,可以用来卡时限
1 | bitset<大小(即多少位)> bs; |
priority_queue
优先队列,在的时间复杂度内实现了插入,查询最值,删除最值
1 | priority_queue<变量名> //默认返回最大值 |
pair
pair相当于一个只能放两个元素的struct,但sort是优先按第一关键字排序
string
和char数组差不多,但支持±运算 注意+是O(n)的
Comment