STL中容器的通用操作函数
最近在学习 C++ 中 STL 标准库中的东西,关于list、vector、deque、set、map等容器的操作函数中存在一些通用函数,整理出来一起学习。
1. 构造函数
ContType<T> C; //创建一个空容器
ContType<T> C(nSIze); //创建一个含有 nSize 个默认元素的容器
ContType<T> C(nSize, Value); //创建一个含有 nSize 个值为 Value 的元素的容器
ContType<T> C1(C2); //复制一个同类型容器
ContType<T> C(first, last); //复制[first,last)范围内的元素到新容器中
C.~ContType(); //删除所有元素,释放内存
2. 判断函数
C.empty(); //判断容器是否为空
C1==C2; //判断c1是否等于c2
3. 访问函数
lst.get_allocator(); //返回容器的内存模型
C.begin(); //正向迭代器,指向第一个元素
C.end(); //正向迭代器,指向最后一个元素的下一位置
C.rbegin(); //反向迭代器,指向最后一个元素
C.rend(); //反向迭代器,指向第一个元素的前一个位置
C.size(); //返回容器当前存储的元素数量
C.max_size(); //返回容器能容纳的最大元素数量
4. 赋值函数
C1=C2;//将c2的值赋给c1
//swap()交换函数
C1.swap(C2);//交换c1和c2的数据
Swap(C1,C2);//同上
//assign()赋值函数
C.assign(size_type nSize, const_type Value); //将list中元素替换为 nSize 个值为 Value 的元素
C.assign(iterator first,iterator last); //将[first,last)中的元素复制到当前容器中
C.assign(ContType<T> &C2); //将另一个容器中的元素复制到当前容器中
5. 操作函数
C.clear();//清空容器
//insert()插入元素
C.insert(iterator iter, const_type Value);//在 iter 指向的位置插入值为 Value的元素
C.insert(iterator iter,size_type num, const_type &Value);//在 iter 指向的位置插入 num 个值为 Value的元素
C.insert(iterator iter,iterator fisrt,last);//在 iter 指向的位置插入[first,end)区间内的所有元素
//erase()删除元素
C.erase(nPos,nSize);//删除从下标 nPos 开始的 nSize 个元素
C.erase(iterstor iter);//删除该迭代器指向的元素
C.erase(iterator first,iterator lase);//删除[first,last)区间的元素
//vector、deque、list
C.front(); //返回第一个元素
C.back(); //返回最后一个元素
C.resize(); //改变list的大小
//deque、list
C.pop_front(); //删除第一个元素
C.push_front(Value); //在容器头部添加一个元素Value
//vector、deque、list
C.front(); //返回第一个元素
C.back(); //返回最后一个元素
C.resize(); //改变list的大小
C.pop_back(); //删除最后一个元素
C.push_back(Value); //在容器末尾添加一个元素Value
//vector、list
C.reverse(); //把list中的元素反转
尚有不足,有待完善。