小工具知识网

当前位置: 首页 > 行业知识 > 【C++】<知识点> 标准模板库STL(下)

行业知识

【C++】<知识点> 标准模板库STL(下)

2026-10-27 13:04:00 来源:互联网转载

文章目录

     六、set与multiset

1. 常用成员函数

2. pair模板

3. set

4. multiset

七、map与multimap

1. map

2. multimap

3. 应用实例

八、容器适配器

1. stack

2. queue

3. priority_queue

九、算法


六、set与multiset

1. 常用成员函数

iterator find(const T& val)查找值为val的元素,返回其迭代器。若未找到,则返回end()

iterator insert(const T& val)

将val插入容器并返回其迭代器。若set类型对象调用insert,返回值类型为pair
void insert(iterator first, iterator last)将区间[first, last)插入容器
int count(const T& val)统计容器内有多少个和val相同的元素
iterator lower_bound(const T& val)查找最大位置的it,使得[begin, it)中所有元素都比val小
iterator upper_bound(const T& val)查找最小位置的it,使得[it, end)中所有元素都比val大
pair equal_range(const T& val)同时求lower_bound和upper_bound
iterator erase(iterator it)删除it指向的元素,返回其后面元素的迭代器(之后不要再用该迭代器++)。另外,erase函数也有重载,可以删除指定元素,还可以删除指定区间。

2. pair模板

/* pair模板内容 */template struct pair{    typedef _T1 first_type;    typedef _T2 second_type;    _T1 first;    _T2 second;    pair() : first(), second() {}    pair(const _T1& _a, const _T1& _b) : first(_a), second(_b) {}    template     pair(const pair& _p) : first(_p.first), second(_p.second) {}}/* 第三个构造函数示例:*/pair p(pair(5.5, 4.6));//则p.first = 5, p.second = 4/* map/multimap容器里放着的都是pair模板类的对象,并按照first从小到大排序 */

3. set

(1) set类模板:

template class set{...}//less模板,通过

上一篇:香港服务器租用全解析,优势、应用与选择指南

下一篇:直属领导为什么不能体恤员工,每次口口声声说不能让员工加班,员工加班是领导的不作为,但是每次都下班之后安排工作,而且接一句今日事今日毕,怎么办