文章标题

容器类

#include<list>
#include<deque>
#include<array>
#include<forward_list>
#include<string>

第一类:list和deque

deque<int>m;
    list<int>n;//注意由于list是链表只能单个++不能跨越多个长度比如+=2不可以
    //在首尾位置添加元素
    n.push_back();
    m.push_back();
    n.push_front();
    m.push_front();
    //在中间添加数
    m.insert(iter,1);//在iter指针之前添加1
    m.insert(iter, 10, -1);//在iter指针之前添加十个-1,返回添加中的元素中第一个元素的指针
    m.insert(iter, iter1, iter2);//在iter之前,添加[iter1,iter2)之间的数
    //在首尾位置删除数
    m.pop_back();//删除最后一个元素
    m.pop_front();//删除第一个元素

第二类:string以及vector

string<char>m
    vector<int>n
    //无法在首元素位置添加或者删除元素
    vector<int>n
    auto i=n.begin()
    int y
    while (cin >> y)
    {
        i = n.insert(i, y);
    }
    //但可以通过insert反复在首尾添加元素
    push_back
    pop_back
    //可以在最后添加或者删除元素
    erase(iter)//删除iter元素
    erase(iter1,iter2)//删除[iter1,iter2)之间的元素,返回一个指向最后一个被删元素之后的元素
    //删除元素

第三类:forward_list

before_begin()//返回首元素之前的一个指针
        insert_after(iter)//在iter之后(注意跟其他两类的insert做对比)添加元素,同样有一样的三种添加方式,返回添加元素的下一位置的指针
        erase_after(iter)//删除iter之后的元素返回最后一个被删除元素后面一个元素的指针
        forward_list没有--,没有back

总的来说


insert,erase对于第一类第二类通用
    n.back()//返回尾元素的引用
    m.front()//返回首元素的引用
对于添加删除更改元素,都会使指针,引用,迭代器失效,所以每次添加或删除元素后都要重新定义引用,迭代器,指针
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值