顺序容器:vector list deque
包含头文件<vector>,<list>,<deque>
算法头文件<algorithm>
算法 sort(a.begin(),a.end())按照从小到大查找
find查找 find_first_of 查找两对迭代器范围内相同的元素,返回第一个查找到的元素
find_if(v.begin(),v.end(),pre) 返回第一个符合pre的迭代器,返回v.end()表示未找到
写入 fill(v.beg,v.end,content) fill_n(v.begin,number,content)
插入迭代器 back_inserter 在没有插入空间时增加插入空间,相当去调用puch_back
向目标迭代器写入未知个数的元素copy (v.begin,v.end,cocy_v)相当于初始化时创建的副本
replace算法 输入迭代器范围,要替换的值,替换的值 replace(v.beg,v.end,0,42 )把0替换为42
replace_copy 替换后生成新序列 输入五个参数 迭代器范围,新序列 替换值 被替换值
3种插入迭代器 :back_inserter从后面插入 front_inserter 从第一个位置插入 inserter插入到指定位置的前面
back_inserter 函数是一种插入器。插入器是一种迭代器适配器,带有一个容器参数,并生成一个迭代器,用于在指定容器中插入元素。通过插入迭代器赋值时,迭代器将会插入一个新的元素
back_inserter,创建使用 push_back 实现插入的迭代器。
front_inserter,使用 push_front 实现插入。
inserter,使用 insert 实现插入操作。除了所关联的容器外,inserter还带有第二实参:指向插入起始位置的迭代器。
流迭代器 istream_iterator ostream_iterator 不太懂 先放着
反向迭代器 reverser_iterator v.rbegin() v.rend()
const 迭代器 不能修改容器的元素
按照迭代器作用范围大小,分下面五种:
1、Input iterator 输入迭代器 可读不可写 支持自增
2、Output iterator 输出迭代器 可写不可读 支持自增
3、Forward iterator 前向迭代器 可读可写 支持自增
4、Bidirectional iterator 双向迭代器 可读可写 支持自增自减
5、Random access iterator 随机访问迭代器 读写 完整的迭代器算术运算
map set list提供双向迭代器 deque string vector 提供随机访问迭代器
list容器特有的操作:merge remove reverse sort splice unique 使用方法 list lst;lst.fun();
算法的形参模式一共四种:
alg (beg, end, other parms);
alg (beg, end, dest, other parms);
alg (beg, end, beg2, other parms);
alg (beg, end, beg2, end2, other parms);