c++ 容器vector基础

vector 容器基础操作代码

vector 是 C++ STL 中最常用的动态数组容器,以下是其基础操作的代码示例:

1. 头文件

复制代码
#include <vector>
#include <iostream>
using namespace std;

2. 创建和初始化

复制代码
vector<int> v1;                  // 空vector
vector<int> v2(5);               // 包含5个元素,默认值为0
vector<int> v3(5, 10);           // 包含5个元素,每个都是10
vector<int> v4 = {1, 2, 3, 4};   // 初始化列表
vector<int> v5(v4);              // 拷贝构造

3. 添加元素

复制代码
v1.push_back(10);       // 在末尾添加元素10
v1.emplace_back(20);    // C++11,更高效的添加方式
v1.insert(v1.begin(), 5); // 在开头插入5

4. 访问元素

复制代码
cout << v3[2];          // 访问第3个元素(不检查边界)
cout << v3.at(2);       // 访问第3个元素(会检查边界)
cout << v3.front();     // 第一个元素
cout << v3.back();      // 最后一个元素

5. 大小和容量

复制代码
cout << v3.size();      // 元素数量
cout << v3.capacity();  // 当前分配的内存能容纳的元素数
v3.reserve(100);        // 预留空间
cout << v3.empty();     // 判断是否为空

6. 删除元素

复制代码
v3.pop_back();          // 删除最后一个元素
v3.erase(v3.begin());   // 删除第一个元素
v3.erase(v3.begin()+1, v3.begin()+3); // 删除范围[1,3)的元素
v3.clear();             // 清空所有元素

7. 遍历vector

复制代码
// 使用下标
for(size_t i = 0; i < v4.size(); ++i) {
    cout << v4[i] << " ";
}

// 使用迭代器
for(auto it = v4.begin(); it != v4.end(); ++it) {
    cout << *it << " ";
}

// C++11范围for循环
for(int num : v4) {
    cout << num << " ";
}

8. 其他操作

复制代码
v4.resize(10);          // 调整大小,新增元素默认初始化
v4.swap(v5);            // 交换两个vector的内容
sort(v4.begin(), v4.end()); // 排序
reverse(v4.begin(), v4.end()); // 反转
相关推荐
xlp666hub4 小时前
Leetcode第五题:用C++解决盛最多水的容器问题
linux·c++·leetcode
得物技术5 小时前
搜索 C++ 引擎回归能力建设:从自测到工程化准出|得物技术
c++·后端·测试
xlp666hub1 天前
Leetcode 第三题:用C++解决最长连续序列
c++·leetcode
会员源码网1 天前
构造函数抛出异常:C++对象部分初始化的陷阱与应对策略
c++
xlp666hub1 天前
Leetcode第二题:用 C++ 解决字母异位词分组
c++·leetcode
不想写代码的星星1 天前
static 关键字:从 C 到 C++,一篇文章彻底搞懂它的“七十二变”
c++
xlp666hub2 天前
Leetcode第一题:用C++解决两数之和问题
c++·leetcode
不想写代码的星星2 天前
C++继承、组合、聚合:选错了是屎山,选对了是神器
c++
不想写代码的星星3 天前
std::function 详解:用法、原理与现代 C++ 最佳实践
c++
樱木Plus5 天前
深拷贝(Deep Copy)和浅拷贝(Shallow Copy)
c++