【无标题】

本文详细介绍了C++中vector类的五个常用函数:push_back用于向后添加元素,pop_back删除最后一个元素,insert用于插入元素,erase删除指定位置或范围的元素,assign用于重置vector的内容。通过实例展示了这些函数的用法和输出结果。
摘要由CSDN通过智能技术生成

vector常用函数

vector常用函数

1.push_back()

a.push_back()就是在a数组后添加一个元素

    #include<stdio.h>
    #include<iostream>
    #include<vector>

    using namespace std;

    vector<int> a;

    int main()
    {
        for(int i=1;i<=3;i++) a.push_back(i);

        for(int i=0;i<a.size();i++) cout << a[i] << " ";
        return 0;
    }

输出结果

1 2 3

2.pop_back()

a.pop_back 删除a数组的最后一个元素

    #include<stdio.h>
    #include<iostream>
    #include<vector>

    using namespace std;

    vector<int> a;

    int main()
    {
        for(int i=1;i<=3    ;i++) a.push_back(i);

        a.pop_back();

        for(int i=0;i<a.size();i++) cout << a[i] << " ";

        return 0;
    }

输出结果

1 2

3.insert()

a.insert(a.begin()+2,-1) 将数字-1插入到a数组中迭代器为2的位置

    #include<stdio.h>
    #include<iostream>
    #include<vector>

    using namespace std;

    vector<int> a;

    int main()
    {
        for(int i=1;i<=3;i++) a.push_back(i);

        //a.pop_back();
        a.insert(a.begin()+2,-1);//将数字2插入到a[2]处

        for(int i=0;i<a.size();i++) cout << a[i] << " ";

        return 0;
    }

输出结果

1 2 -1 3

insert(a.end(),b.begin(),b.end()) 在a数组后插入b数组[begin,end]区间里的数

    #include<stdio.h>
    #include<iostream>
    #include<vector>

    using namespace std;

    vector<int> a,b;

    int main()
    {
        for(int i=1;i<=3;i++) a.push_back(i);

        //a.pop_back();
        a.insert(a.begin()+2,-1);//将数字2插入到a[2]处

        for(int i=20;i<=23;i++) b.push_back(i);

        a.insert(a.end(),b.begin(),b.end());

        for(int i=0;i<a.size();i++) cout << a[i] << " ";

        return 0;
    }

输出结果

1 2 -1 3 20 21 22 23

4.erase()

a.erase(x) 即删除数组a中迭代器为x处的数
erase(first,last) 即删除区间[fitst,last]内的数
清空vector可以使用v.erase(v.begin(),v.end())或者clear()

    #include<stdio.h>
    #include<iostream>
    #include<vector>

    using namespace std;

    vector<int> a,b;

    int main()
    {
        for(int i=1;i<=3;i++) a.push_back(i);

        a.erase(a.begin()+2);

        for(int i=0;i<a.size();i++) cout << a[i] << " ";

        return 0;
    }

输出结果

1 2
    #include<stdio.h>
    #include<iostream>
    #include<vector>

    using namespace std;

    vector<int> a,b;

    int main()
    {
        for(int i=1;i<=6;i++) a.push_back(i);

        a.erase(a.begin()+3,a.end());

        for(int i=0;i<a.size();i++) cout << a[i] << " ";

        return 0;
    }

输出结果

1 2 3

5.assign()

b.assign(a.begin(),b.begin()+3) 将a的0-2的元素赋值给b

    #include<stdio.h>
    #include<iostream>
    #include<vector>

    using namespace std;

    vector<int> a,b;

    int main()
    {
        for(int i=1;i<=6;i++) a.push_back(i);

        b.assign(a.begin(),a.begin()+3);

        for(int i=0;i<b.size();i++) cout << b[i] << " ";

        return 0;
    }

输出结果

1 2 3
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值