noip中STL总结

先写这么多,以后有时间再更~

bitset

用法:#include<bitset>
定义:`bitset <大小> b;
功能:

函数功能
b.any()是否存在1
b.reset()全部置为0
b.set()全部置为1
b.count()1的个数

priority_queue

用法:#include<queue>
定义:priority_queue<int> q;(队头最大)
priority_queue<int,vector<int>,greater<int> > q; (队头最小)
也可以对struct使用,重载struct的<即可。
方法:

struct xx
{
	bool operator < (xx y) const
	{
		...
	}
}

功能:

函数功能
q.top()队头
q.pop()弹出队头
q.push()加入队列
q.empty()是否为空

map

用法:#include<map>
定义:map<int,int> m;

函数功能
a=m[b]修改/访问
m.find(s)是否有s这个下标
m.lower_bound(s)返回大于等于s的第一个键值的迭代器
m.find(s)返回等于s的第一个键值的迭代器

特性:
map<,> :: iterator k;
pair<,> kk=*k;


vector

用法:#include<vector>
定义:vector<int> m;
大概是一个不定长数组。

函数功能
a=m[b]修改/访问
m.resize()定义大小
m.clear()清空vector
m.empty()是否为空

algorithm库

用法:#include<algorithm>

函数功能
sort(a+1,a+size(a)+1,cmp)排序
lower_bound(a+1,a+size(a)+1,b)-a返回有序数组a中第一个大于等于b的数的位置
upper_bound(a+1,a+size(a)+1,b)-a返回有序数组a中第一个大于b的数的位置
unique(a+1,a+size(a)+1)去重(详见度娘)

deque

用法:#include<deque>
定义:deque<int> q;

函数功能
q.front()访问队头
q.back()访问队尾
q.pop_front()弹出队头
q.pop_back()弹出队尾
q.push_front()队头加进一个元素
q.push_back()队尾加进一个元素
q.empty()是否为空

set

用法:#include<set>
定义:set<int> s;
迭代器:set<int> :: iterator it;
迭代器->元素:*it;

函数功能
s.count()返回是否存在该元素
s.empty()是否为空
s.insert()加入一个元素
s.erase()删除一个元素,参数为迭代器
s.size()元素个数
s.find()找到一个元素对应的迭代器,若不存在返回s.end()
s.lower/upper_bound(x)返回第一个大于(等于)x的迭代器
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值