📜  c++ 矢量调整大小 - C++ (1)

📅  最后修改于: 2023-12-03 14:59:49.383000             🧑  作者: Mango

C++ 矢量调整大小

在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方法可以在指定位置插入新元素。这些方法为程序员提供了灵活操作矢量的能力。

请注意,本文提供的示例代码仅用于演示目的,实际使用时请适当处理边界条件和异常情况。

参考文献:C++ Reference - std::vector