文章标题

来源:互联网 发布:软件测试岗位需求 编辑:程序博客网 时间:2024/06/02 01:23

容器类

#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
原创粉丝点击