vector的resize
时间: 2024-04-05 10:27:59 浏览: 134
vector的resize函数用于改变vector容器的大小。当将vector的大小增加时,新元素会被添加到容器的末尾;当将vector的大小减小时,容器的最后几个元素会被删除[^1]。
以下是一个使用resize函数的示例代码:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> v1(5, 1); // 创建一个值为1的大小为5的vector容器v1
v1.resize(3); // 将v1的大小改为3,最后两个元素会被删除
for(int i=0; i<v1.size(); i++) {
cout << v1[i] << " ";
}
// 输出:1 1 1
return 0;
}
```
在上述示例中,我们首先创建了一个大小为5且初始值为1的vector容器v1。然后,我们使用resize函数将v1的大小改为3,这导致最后两个元素被删除。最后,我们使用循环遍历v1并输出其元素的值。
相关问题
vector resize
`vector`的`resize`操作是用于改变`vector`的大小。当我们需要增加或减少`vector`中的元素数量时,可以使用`resize`操作。`resize`会改变`vector`的大小,并且如果需要的话,它会分配或释放内存。
以下是一个使用`resize`操作改变`vector`大小的示例:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec;
vec.resize(100); // 改变vector的大小为100
std::cout << "Vector size: " << vec.size() << std::endl; // 输出:Vector size: 100
return 0;
}
```
在上面的示例中,我们首先创建了一个空的`vector`对象`vec`。然后,我们使用`resize`操作将`vector`的大小改变为100。最后,我们使用`size`函数获取`vector`的大小并输出。
vector resize方法
vector的resize方法是用来改变vector的大小的。如果参数的数值比vector的当前大小大,那么vector会用0来填充新增的元素;如果参数的数值比vector的当前大小小,那么在设置的大小和当前大小之间的元素会被删除。比较两个vector是否相等时,会比较它们的大小和对应位置上的元素是否相等。
具体来说,resize方法有两个参数:_Newsize和_Val。_Newsize用来设置vector的新大小,_Val是可选的,用来为新增的元素赋值。注意,resize方法并不会改变之前数组的值,只会改变数组的长度和新增元素的值。
下面是一个示例代码,展示了resize方法的使用:
```cpp
#include <iostream>
#include <vector>
using namespace std;
struct squareXY {
int x;
int y;
};
int main() {
squareXY rexy = {1, 2};
squareXY xy = {3, 4};
vector<squareXY> s(10, xy);
cout << "resize之前的数组:" << endl;
for (int i = 0; i < s.size(); i++) {
cout << s[i].x << "------" << s[i].y << endl;
}
s.resize(20, rexy);
cout << "resize之后的数组:" << endl;
for (int i = 0; i < s.size(); i++) {
cout << i << ":" << s[i].x << "------" << s[i].y << endl;
}
return 0;
}
```
运行以上代码,可以看到resize方法改变了vector的大小,并根据需要进行元素的填充或删除。
阅读全文