【C++】vector的简单使用

C++中的vector是一个非常灵活且强大的容器,它属于标准模板库(STL)的一部分。vector可以看作是一个能够动态改变大小的数组,它提供了随机访问接口,可以在常数时间内访问任意位置的元素。下面我将简要介绍vector的基本使用。

包含头文件

要使用vector,首先需要包含相应的头文件:

#include <vector>

创建vector

创建vector的方式有多种:

  • 直接声明一个空的vector
std::vector<int> vec;
  • 使用给定的初始大小创建vector,所有元素默认初始化(对于基本类型如int,默认初始化为0):
std::vector<int> vec(10); // 创建一个有10个元素的vector,所有元素初始化为0
  • 使用给定的初始大小和初始值创建vector
std::vector<int> vec(10, 1); // 创建一个有10个元素的vector,所有元素初始化为1
  • 使用初始值列表创建vector
std::vector<int> vec = {1, 2, 3, 4, 5};

向vector中添加元素

  • 使用push_back函数在vector的末尾添加一个元素:
vec.push_back(6); // 在vec的末尾添加6
  • 使用insert函数在指定位置插入一个或多个元素:
vec.insert(vec.begin() + 2, 99); // 在vec的第3个位置(索引为2)插入99

访问vector中的元素

  • 使用下标操作符[]直接访问元素(注意:如果下标越界,行为是未定义的):
int second = vec[1]; // 访问vec的第二个元素(索引为1)
  • 使用at成员函数安全地访问元素(如果下标越界,会抛出std::out_of_range异常):
int second = vec.at(1); // 安全地访问vec的第二个元素
  • 使用迭代器访问元素:
for(std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
    std::cout << *it << ' ';
}
// 或者使用C++11的范围for循环
for(int val : vec) {
    std::cout << val << ' ';
}

删除vector中的元素

  • 使用pop_back函数删除vector末尾的元素:
vec.pop_back(); // 删除vec的最后一个元素
  • 使用erase函数删除指定位置的元素或元素范围:
vec.erase(vec.begin() + 2); // 删除vec的第3个元素
// 或者删除一个范围
vec.erase(vec.begin() + 1, vec.begin() + 3); // 删除vec的第2个到第3个元素(包含第2个,不包含第3个)

vector的大小和容量

  • 使用size函数获取vector中元素的数量:
std::size_t size = vec.size();
  • 使用capacity函数获取vector当前分配的内存大小(能够存储的元素数量,可能大于实际存储的元素数量):
std::size_t capacity = vec.capacity();
  • 可以通过reserve函数预留足够的空间来减少重新分配的开销:
vec.reserve(100); // 为vec预留至少100个元素的空间

总结

vector是C++中一个非常实用的容器,它提供了动态数组的功能,并支持快速的随机访问。通过掌握上述基本操作,你可以有效地在C++程序中使用vector来存储和管理数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值