vector如何赋值元素
时间: 2024-03-20 12:42:58 浏览: 40
可以使用以下方式向 vector 赋值元素:
1. 使用 push_back() 函数向 vector 尾部添加元素:
```c++
#include <vector>
using namespace std;
int main() {
vector<int> v;
v.push_back(1); // 添加元素
v.push_back(2);
v.push_back(3);
return 0;
}
```
2. 使用 insert() 函数向 vector 中插入元素:
```c++
#include <vector>
using namespace std;
int main() {
vector<int> v;
v.insert(v.begin(), 1); // 插入元素
v.insert(v.begin() + 1, 2);
v.insert(v.begin() + 2, 3);
return 0;
}
```
3. 直接使用下标操作符 [] 赋值:
```c++
#include <vector>
using namespace std;
int main() {
vector<int> v(3); // 创建大小为 3 的 vector
v[0] = 1; // 赋值
v[1] = 2;
v[2] = 3;
return 0;
}
```
相关问题
C++中vector赋值
在C++中,Vector是一种动态数组容器,可以方便地存储一组元素并支持动态调整大小。你可以通过多种方式将数据复制到Vector中,包括赋值操作。以下是几种常见的赋值方式:
1. 直接赋值 (`=`):
```cpp
std::vector<int> vec1(5); // 创建一个包含5个默认值的vector
std::vector<int> vec2; // 创建一个空vector
vec2 = vec1; // 将vec1的所有元素复制给vec2
```
2. 使用`assign()`函数:
```cpp
vec2.assign(vec1.begin(), vec1.end()); // 从vec1的开头到结尾复制元素
```
3. 使用`copy()`函数:
```cpp
copy(vec1.begin(), vec1.end(), vec2.begin()); // 同样是从vec1复制到vec2
```
4. 当然,如果两个Vector有相同的大小并且内容相等,还可以直接用另一个向量初始化一个新的向量:
```cpp
std::vector<int> vec3(vec1);
```
5. 如果需要替换整个Vector的内容,可以直接创建一个新Vector,并赋给原Vector的引用:
```cpp
vec1.clear(); // 清空原始vector
vec1 = std::vector<int>{10, 20, 30}; // 将新的vector元素赋予vec1
```
以上各种方式都可以完成向Vector的赋值操作,选择哪种取决于具体的场景和需求。
二维vector赋值
在C++中,二维`std::vector`是一种动态数组,可以存储元素构成的矩阵。赋值二维`vector`通常涉及到创建一个新的二维向量,并将其所有元素复制到目标向量中。这里是一个基本的例子:
```cpp
#include <vector>
#include <iostream>
int main() {
// 创建一个5x3的二维vector
std::vector<std::vector<int>> source(5, std::vector<int>(3, 0)); // 初始值设为0
// 使用嵌套循环赋值
for (size_t i = 0; i < 5; ++i) {
for (size_t j = 0; j < 3; ++j) {
source[i][j] = i * 3 + j; // 设置每个元素为行*3+列的值
}
}
// 另一个二维vector用于接收赋值
std::vector<std::vector<int>> destination;
// 赋值操作
destination = source;
// 打印源和目标向量的内容
for (const auto& row : source) {
for (const auto& value : row) {
std::cout << value << " ";
}
std::cout << "\n";
}
for (const auto& row : destination) {
for (const auto& value : row) {
std::cout << value << " ";
}
std::cout << "\n";
}
return 0;
}
```
在这个例子中,我们首先初始化了一个源向量`source`,然后通过直接赋值操作将内容传递给`destination`。注意,这样做会创建`destination`的新副本,而不是引用`source`。
阅读全文