常用STL

2017-07-26  本文已影响6人  HeoLis

 

lower_bound

功能:返回一个非递减序列[first, last)中的第一个大于等于值val的位置。

声明:lower_bound(ForwardIter first, ForwardIter last,const _Tp& val)  -arraylistname

upper_bound

功能:算法返回一个非递减序列[first, last)中第一个大于val的位置。

声明:upper_bound(ForwardIter first, ForwardIter last, const _Tp& val)

vector

功能:一个可变大小的数组。

声明:vector<类型> 变量名;

访问:变量名[位置](当数组用即可)

插入:变量名.push_back(变量);

说明:

它的本体是一个对象。

 priority_queue

功能:堆

声明:priority_queue<类型> 变量名;

访问:变量名.top();(仅能访问堆顶元素)

插入:变量名.push(变量);

删除:变量名.pop();

说明:

类型需要定义<运算符。

注意 pq 实现的是反人类的大根堆,自定义<号时需要注意实际上是>。

set

功能:集合

声明:set<类型> 变量名;

访问:变量名.find(值);

插入:变量名.insert(值);

删除:变量名.erase(迭代器);

变量名.erase(值);

说明:

单次操作复杂度 O(logn)。

 map

功能:映射

声明:map<源类型,目标类型> 变量名;

访问:变量名[源类型值](如果不存在该值则会进行插入。)

说明:

单次操作复杂度 O(logn)。

 string

功能:灵活的字符串对象

声明:string 变量名;

赋值:变量名=”C 风格字符串常量”;

合并:变量名+变量名 2(例如 s1=”a”,s2=”b”,s1+s2=”ab”)

求长:变量名.length();(其余 STL 求大小均为变量名.size())

访问:变量名[位置](当数组用)

说明:不能作为 C 风格函数的参数。

上一篇下一篇

猜你喜欢

热点阅读