C++向量 vector的增加

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengqiuming/article/details/89784661

一 点睛

vector中的增加,可以有insert和push_back。insert是插入元素到某个位置中,push_back是在最后添加一个元素。

insert的函数原型

iterator insert( iterator loc, const TYPE &val );                               // 向量中迭代器指向元素前增加一个元素x
void insert( iterator loc, size_type num, const TYPE &val );                    // 向量中迭代器指向元素前增加n个相同的元素x
void insert( iterator loc, input_iterator start, input_iterator end );          // 向量中迭代器指向元素前插入另一个相同类型向量的[first,last)间的数据

二 实战

1 代码

#include<algorithm>
#include<vector>
#include<iostream>
using namespace std;
void print( vector<int>v ){
    vector<int>::iterator iter=v.begin();
    for(;iter!=v.end();iter++)
        cout<<*iter<<" ";
    cout<<endl;
}
int main(){
    vector<int> v; //现在容器中有0个元素
    int values[] = {1,3,5,7};
    v.insert(v.end(), values+1, values+3);//现在容器中有2个元素分别为:3,5
    print(v);
    v.push_back(9); //现在容器中有3个元素分别为:3,5,9
    print(v);
    v.erase(v.begin()+1);//现在容器中有2个元素分别为:3,9
    print(v);
    v.insert(v.begin()+1, 4);//现在容器中有3个元素分别为:3,4,9
    print(v);
    v.insert(v.end()-1, 4, 6);//现在容器中有7个元素分别为:3,4,6,6,6,6,9
    print(v);
    v.erase(v.begin()+1, v.begin()+3); //现在容器中有5个元素分别为:3,6,6,6,9
    print(v);
    v.pop_back(); //现在容器中有4个元素分别为:3,6,6,6
    print(v);
    v.clear();//现在容器中有0个元素
    print(v);
    if (true == v.empty()) //如果容器为空则输出"null"
    {
      std::cout<<"null"<<std::endl;
    }
    return 0;
}

2 运行

[root@localhost charpter03]# g++ 0315.cpp -o 0315
[root@localhost charpter03]# ./0315
3 5
3 5 9
3 9
3 4 9
3 4 6 6 6 6 9
3 6 6 6 9
3 6 6 6

null

猜你喜欢

转载自blog.csdn.net/chengqiuming/article/details/89784661
今日推荐