欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

vector用法

程序员文章站 2022-03-01 23:18:57
...

vector是将元素放到动态数组中加以管理的容器,vector容器可以随机存取元素,也就是说支持·[]运算符和at方式存取。
所以vector分配的是一块连续的内存的空间。当没有连续的内存空间去插入新来的元素时,则重新分配一块更大的内存空间。将原内存空间中的数据拷贝到新的内存空间

vector在尾部添加或者删除元素非常快,在中间操作非常耗时,因为他需要移动元素。

​基本用法

front() ​返回头部元素的引用,可以当左值

back() 返回尾部元素的引用,可以当左值

push_back() 添加元素,只能尾部添加

pop_back() 删除元素,只能在尾部删除

//用法代码

vector初始化共四个构造函数
1.直接构造函数初始化
vector<int> v1;
2.拷贝构造函数初始化
vector<int> v2=v1;
3.使用部分元素初始化
vector<int> ::iterator iter1=v.begin();
vector<int> ::iterator iter2=v.end();
vector<int> v(iter1,iter2);
4.使用元素书和值初始化
vector<int> v(3,5);//三个元素,初始化为5

vector遍历方式,可以根据[]或者迭代器遍历
[]方式
at()方式
迭代器方式

vector的元素删除
erase(iterator) 删除后会返回当前迭代器的下一个位置。

vector的元素添加

 int main(int argc, const char * argv[]) {
    
    //初始化vector对象
    vector<int> v1(10);
    
    //在指定的位置插入元素10的拷贝
    v1.insert(v1.begin() + 3, 10);
    
    //在指定的位置插入3个元素11的拷贝
    v1.insert(v1.begin(), 3, 11);
    
    //遍历
    for (vector<int>::iterator it = v1.begin(); it != v1.end(); it++) {
        cout << *it << " ";
    }
    cout << endl;
    
    return 0;
}