vector 是 C++ STL 最常用、最实用的动态数组容器,可以自动扩容、自动管理内存,支持随机访问,用法简单、效率高。

我给你整理最常用、必须会的用法,直接复制就能用。


一、头文件

cpp

运行

#include <vector>
using namespace std;

二、创建 vector

cpp

运行

// 1. 空vector
vector<int> v1;

// 2. 指定大小,初始值为0
vector<int> v2(10);

// 3. 指定大小 + 初始值
vector<int> v3(10, 100);

// 4. 直接初始化
vector<int> v4 = {1,2,3,4,5};

三、增 —— 添加元素

cpp

运行

vector<int> v;

// 尾部添加(最常用)
v.push_back(10);
v.push_back(20);

// 中间插入(在第0个位置插入30)
v.insert(v.begin(), 30);

四、删 —— 删除元素

cpp

运行

// 删除最后一个元素
v.pop_back();

// 删除指定位置元素
v.erase(v.begin() + 1);

// 清空所有元素
v.clear();

五、改 —— 修改元素

cpp

运行

// 直接通过下标修改
v[0] = 999;

// at() 方法(带越界检查)
v.at(1) = 888;

六、查 —— 访问元素

cpp

运行

// 1. 下标访问
cout << v[0] << endl;

// 2. at访问(更安全)
cout << v.at(0) << endl;

// 3. 获取第一个元素
cout << v.front() << endl;

// 4. 获取最后一个元素
cout << v.back() << endl;

七、遍历(三种最常用方法)

方法 1:for 循环(最简单)

cpp

运行

for(int i=0; i<v.size(); i++){
    cout << v[i] << " ";
}

方法 2:范围 for(C++11 及以上)

cpp

运行

for(auto num : v){
    cout << num << " ";
}

方法 3:迭代器(标准写法)

cpp

运行

for(vector<int>::iterator it = v.begin(); it != v.end(); it++){
    cout << *it << " ";
}

八、常用工具函数

cpp

运行

v.size();       // 获取元素个数
v.empty();      // 判断是否为空
v.capacity();   // 获取容量
v.resize(10);   // 重新设置大小

九、完整示例代码

cpp

运行

#include <iostream>
#include <vector>
using namespace std;

int main() {
    vector<int> v = {10,20,30,40,50};

    // 添加
    v.push_back(60);

    // 遍历
    for (auto x : v) {
        cout << x << " ";
    }

    // 修改
    v[0] = 999;

    // 删除
    v.pop_back();

    return 0;
}

十、vector 特点总结

  • 动态数组,自动扩容
  • 尾部增删快,中间慢
  • 支持随机访问(下标访问)
  • 内存连续,效率高
  • 最常用、最推荐的容器

更多推荐