美文网首页
标准模板库-vector

标准模板库-vector

作者: zhaoQiang012 | 来源:发表于2018-12-29 22:38 被阅读0次

    标准模板库-vector

    1. vector简介

    • vector为C++的STL中的模板数组容器。在使用时需要包含#include <vector>头文件。这里主要记录一下vector的各种内置方法,以备忘记时查找方便。

    2. vector构造方法

    vector v1;  // 创建一个空的vector
    vector v2(v1);  // 复制一个vector
    vector v3(n);  // 创建一个含n个元素的vector, 
    vector v4(n, 1);  // 创建一个含n个1的vector
    
    // 使用数组初始化
    int a[] = {0, 1, 2};
    vector<int> v5(a, a+2);
    

    3. vector大小方法

    • int size() const: 返回vector中元素个数
    • int capacity() const: 返回vector中所能容纳最大元素个数
    • int max_size() const: 返回vector中最大可允许的元素个数
    • resize(n): 重新指定vector长度
    • reverse(): 保留适当的容量

    4. vector添加方法

    void push_back(x): 向尾部添加x
    iterator insert(iterator it, const T& x): // 向迭代器it指向元素前添加x
    iterator insert(iterator it, int n, const T& x): // 向迭代器it指向元素前添加n个x
    iterator insert(iterator it, const_iterator first, const_iterator second): // 向迭代器指向元素前插入另一段元素
    void assign(int pos, const T& x);  // 置第pos位置元素为x
    void assign(const_iterator begin, const_iterator end);  // 将该段区间内元素赋给vector
    
    

    5. vector获取元素方法

    reference at(int pos);  // 返回pos位置的元素值
    reference [int pos];  // 类似数组
    reference front();  // 返回第一个元素
    reference back();  // 返回最后一个元素
    iterator begin();  // 返回指向第一个元素的迭代器指针
    iterator end();  // 返回指向最后一个元素的迭代器指针
    reverse_iterator rbegin();  // 反向迭代器,指向最后一个元素
    reverse_iterator rend();;  // 反向迭代器,指向第一个元素
    

    6. vector删除元素方法

    void pop_back();  // 删除最后一个元素
    void clear();  // 清空所有元素
    iterator erase(iterator it);  // 删除指定元素并返回it指向的下一个迭代器
    iterator erase(iterator begin, iterator end);  // 删除指定区间内的元素
    

    7. vector其它方法

    bool empty();  // 是否为空
    v1.swap(vector v2);  // 将`v1`与`v2`中的元素互换
    


    下次记录其它常用容器

    相关文章

      网友评论

          本文标题:标准模板库-vector

          本文链接:https://www.haomeiwen.com/subject/rutmlqtx.html