标准模板库-vector

标准模板库-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`中的元素互换


下次记录其它常用容器

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容