vector

  • vector是表示可变大小数组的序列容器
  • 像数组一样, vector也采用连续存储空间来存储元素. 但它的大小是可以动态改变的, 而且它的大小会被容器自动处理
  • 本质上, vector使用动态分配数组来存储它的元素
  • 与其它动态序列容器相比, vector在访问元素的时候更加高效, 在末尾添加和删除元素相对高效. 对于其它不在末尾的删除和插入操作, 效率更低

vector的常用接口

  • 构造函数声明
    vector()												// 无参构造
    vector(size_t n, const value_t& val = value_t())		// 构造并初始化n个val
    vector(const vector& x)									// 构造拷贝
    vector(InputIterator first, InputIterator last)			// 使用迭代器进行初始化构造
    
  • vector iterator的使用
    begin + end		// 获取第一个数据位置的iterator, 获取最后一个数据的下一位置的iterator
    rbegin + rend	// 获取最后一个数据位置的reverse_iterator, 获取第一个数据前一个位置的reverse_iterator
    
  • 容量空间
    size			// 获取数据个数
    capacity		// 获取容量大小
    empty			// 判断是否为空
    resize			// 改变vector的size
    reserve			// 改变vector放入capacity
    

    vs下capacity是按1.5倍增长的, g++是按照2倍增长的

  • 增删查改
    push_back			// 尾插
    pop_back			// 尾删
    find				// 查找, 这个是算法模块实现, 不是vector的成员接口
    insert				// 在pos之前插入val
    erase				// 删除pos位置的数据
    swap				// 交换两个vector的数据空间
    operator[]			// 像数组一样访问
    

 


我们的征途是星辰大海!