本文共 2996 字,大约阅读时间需要 9 分钟。
简介:set容器是一个关联式容器,存储元素时会自动排序。其底层基于二叉树实现。本质:set容器不允许重复元素,适合存储唯一的元素。
setst;
set& operator=(const set & st);
pairinsert(const T& val);
iterator erase(iterator pos);
iterator find(const T& val);
简介:map容器是一个关联式容器,元素按key值自动排序。其底层同样基于二叉树实现。本质:map容器不允许重复的key值,适合存储键值对。
mapmp;
map& operator=(const map & mp);
pairinsert(const pair & val);
iterator erase(iterator pos);
iterator find(const T1& val);
功能描述:遍历容器中的元素。
for_each(begin(), end(), func);
其中func可以是普通函数或仿函数。
功能描述:将容器中的元素按照指定规则进行变换。
transform(begin(), end(), dest(), func);
dest()需要预先分配空间。
功能描述:查找容器中是否存在指定元素。
iterator find(begin(), end(), value);
功能描述:按条件查找容器中的元素。
iterator find_if(begin(), end(), predicate);
predicate是谓词。
功能描述:对容器内的元素进行排序。
sort(begin(), end(), comparator);
comparator是排序规则。
函数对象(仿函数)是通过重载operator()操作符定义的类,具有一些函数的行为。
templateT plus (T a, T b) { return a + b; }
templatebool greater (T a, T b) { return a > b; }
案例描述:公司招聘了10名员工(编号A到J),需要随机分配部门(策划、美术、研发),并通过multimap存储部门与员工信息。
实现步骤:
代码示例:
#include#include #include
通过本次学习,掌握了C++ STL中set、map、multiset等容器的使用方法,以及常用算法如for_each、transform等的应用。同时,通过员工分组案例,熟悉了multimap的实际应用场景。未来需要进一步深入学习STL的高级功能和算法优化技术。
转载地址:http://muhwz.baihongyu.com/