C++:STL中容器的通用操作函数

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中的元素反转

尚有不足,有待完善。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值