C++向量类

向量(vector)是C++标准模板库中最常用的序列容器之一。它提供了一个像数组一样可以存取元素的容器,本文将主要介绍C++向量类vector的用法。

一、向量定义

向量是一种模板类,定义方式为:

#include <vector> 

vector<int> vec; // int向量
vector<string> strVec; // string向量 

二、初始化

vector<int> vec1; // 空向量

vector<int> vec2(10, 1); // 10个元素都为1

vector<int> vec3{1, 2, 3, 4}; // 初始化列表

三、常见操作

  • push_back:尾部插入元素
  • pop_back:删除最后一个元素
  • size():向量大小
  • empty():判断是否为空

四、元素访问

int val = vec[0]; // 通过下标访问元素
int last = vec[vec.size()-1]; // 访问最后一个元素

vec.at(2); // 通过at方法访问,可以越界检查

五、迭代器

for(vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
  // 遍历向量
}

六、插入和删除

vec.insert(vec.begin()+1, 2); // 插入元素
vec.erase(vec.begin()); // 删除元素

七、容量相关

vec.resize(3); // 调整大小

if(vec.capacity() >= 100) {
  // 容量大于100
}

vec.reserve(1024); // 容量预留空间

std::vector提供了一个功能强大并且高效的序列容器实现,可以应用于多种场景。掌握vector的用法是高效编写C++程序的关键。