📅  最后修改于: 2023-12-03 14:59:49.383000             🧑  作者: Mango
在C++中,使用矢量(Vector)来表示可变大小的数组非常常见。矢量类似于数组,但它具有动态调整大小的能力。本文将介绍如何在C++中调整矢量的大小。
C++矢量类(std::vector
)提供了多种方法来调整其大小,包括改变矢量的长度、删减元素和插入元素。下面是一些常用的方法:
要修改矢量的长度,可以使用resize
方法。resize
方法接受一个整数参数,用于指定矢量的新长度。如果新长度小于当前长度,则矢量将被截断;如果新长度大于当前长度,则矢量将被扩展,新的元素将用默认值进行填充。
std::vector<int> v = {1, 2, 3, 4, 5};
v.resize(3); // 矢量将被截断,v = {1, 2, 3}
v.resize(6); // 矢量将被扩展,新增元素用默认值填充,v = {1, 2, 3, 0, 0, 0}
要删除矢量的元素,可以使用erase
方法。erase
方法接受一个迭代器参数,用于指定要删除的元素位置。被删除元素之后的所有元素将向前移动。
std::vector<int> v = {1, 2, 3, 4, 5};
v.erase(v.begin() + 2); // 删除第3个元素,v = {1, 2, 4, 5}
要在矢量中插入元素,可以使用insert
方法。insert
方法接受两个参数,第一个参数是一个迭代器,用于指定插入位置,第二个参数是要插入的元素值。
std::vector<int> v = {1, 2, 3, 4, 5};
v.insert(v.begin() + 2, 10); // 在第3个元素之前插入10,v = {1, 2, 10, 3, 4, 5}
使用C++矢量类,我们可以很方便地调整矢量的大小。resize
方法可以改变矢量的长度,erase
方法可以删除指定位置的元素,insert
方法可以在指定位置插入新元素。这些方法为程序员提供了灵活操作矢量的能力。
请注意,本文提供的示例代码仅用于演示目的,实际使用时请适当处理边界条件和异常情况。