常用STL

作者: HeoLis | 来源:发表于2017-07-26 13:00 被阅读6次

     

    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 风格函数的参数。

    相关文章

      网友评论

          本文标题:常用STL

          本文链接:https://www.haomeiwen.com/subject/hfdikxtx.html