vector c++ 用法

在C++中,std::vector是一个动态数组容器,它允许用户存储任意类型的对象,并且可以动态地增加和压缩数据。以下是std::vector的一些基本用法:

包含头文件和命名空间

#include <vector>
using namespace std;

声明和初始化

  • 默认初始化 :创建一个空的vector
vector<int> v;
  • 指定大小初始化 :创建一个具有指定大小的vector,并可以选择为每个元素提供初始值。
vector<int> v(5); // 创建一个包含5个元素的vector,每个元素被默认初始化为0
vector<int> v(5, 10); // 创建一个包含5个元素且每个元素都是10的vector
  • 复制初始化 :使用另一个vector对象来初始化。
vector<int> v1 = {1, 2, 3, 4, 5};
vector<int> v2(v1); // v2是v1的一个复制

构造函数

  • 无参数 :构造一个空的vector
vector<int> v;
  • 指定数量和值 :构造一个初始放入指定数量元素的vector
vector<int> v(5, 42); // 创建一个包含5个值为42的元素的vector
  • 迭代器范围 :使用输入迭代器指定一个范围的元素来构造vector
vector<int> v(v.begin(), v.end()); // 使用现有vector的元素构造新vector

常用操作

  • 尾部插入 :使用push_backvector尾部添加一个元素。
vector<int> v;
v.push_back(10);
v.push_back(20);
  • 访问元素 :使用下标或迭代器访问vector中的元素。
for(auto it = v.begin(); it != v.end(); ++it) {
    cout << *it << " ";
}
  • 删除尾部元素 :使用pop_back删除vector尾部的一个元素。
vector<int> v = {10, 20, 30};
v.pop_back();
  • 获取大小 :使用size函数返回vector中元素的个数。
int size = v.size();
  • 检查是否为空 :使用empty函数检查vector是否为空。
bool isEmpty = v.empty();
  • 清空容器 :使用clear函数清空vector中的所有元素。
v.clear();
  • 插入元素 :使用insert函数在指定位置插入一个元素。
v.insert(v.begin() + 1, 15); // 在索引为1的位置插入15
  • 删除元素 :使用erase函数删除指定位置的元素或一段元素。
v.erase(v.begin() + 1); // 删除索引为1的元素

以上是std::vector的一些基本用法。使用std::vector可以方便地管理动态数组,而无需手动管理内存。需要注意的是,在使用std::vector时,应确保包含正确的头文件,并根据需要使用命名空间。

Top