c/c++给vector<int>赋值
时间: 2023-12-19 11:07:07 浏览: 27
给 vector<int> 赋值可以通过以下方式实现:
1. 使用 push_back() 方法一个一个地添加元素:
```
vector<int> vec;
vec.push_back(1);
vec.push_back(2);
vec.push_back(3);
```
2. 使用花括号初始化列表:
```
vector<int> vec = {1, 2, 3};
```
3. 使用 assign() 方法:
```
vector<int> vec;
vec.assign({1, 2, 3});
```
4. 使用 resize() 方法并使用下标赋值:
```
vector<int> vec(3);
vec[0] = 1;
vec[1] = 2;
vec[2] = 3;
```
这些方法可以根据需要选择使用。
相关问题
c/c++vector<int>怎么转换链表举例说明
可以使用链表的头节点指针和一个循环来将vector<int>转换为链表。具体步骤如下:
1. 定义一个链表节点结构体,包含一个整型数据成员和一个指向下一个节点的指针成员。
2. 定义一个头节点指针,初始化为NULL。
3. 遍历vector<int>,对于每个元素,创建一个新的链表节点,并将该元素赋值给节点的数据成员。
4. 将新节点插入到链表中,插入的位置为链表尾部。如果链表为空,将头节点指针指向新节点;否则,从头节点开始循环,直到找到链表尾部,将新节点插入到尾部。
5. 遍历完成后,返回头节点指针即可。
注意:在实际使用中,需要注意内存管理,避免内存泄漏等问题。
C++ vector<string>赋值
`vector` 容器的赋值方式和数据类型无关,下面以 `vector<string>` 为例进行说明。
在 C++ 中,可以使用 `=` 运算符或 `assign` 函数来给 `vector` 容器赋值。
1. 使用 `=` 运算符
使用 `=` 运算符可以将一个 `vector` 容器的值赋给另一个 `vector` 容器,例如:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<string> vec1 {"apple", "banana", "cherry"};
vector<string> vec2 = vec1;
// 输出 vec2 中的元素
for (string str : vec2) {
cout << str << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
apple banana cherry
```
2. 使用 `assign` 函数
使用 `assign` 函数可以将一个 `vector` 容器的值赋给另一个 `vector` 容器,也可以用一个元素值或者一个元素序列来填充 `vector` 容器,例如:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<string> vec1 {"apple", "banana", "cherry"};
vector<string> vec2;
// 将 vec1 中的元素赋值给 vec2
vec2.assign(vec1.begin(), vec1.end());
// 输出 vec2 中的元素
for (string str : vec2) {
cout << str << " ";
}
cout << endl;
// 用一个元素值填充 vec2
vec2.assign(5, "orange");
// 输出 vec2 中的元素
for (string str : vec2) {
cout << str << " ";
}
cout << endl;
// 用一个元素序列填充 vec2
vec2.assign({"apple", "banana", "cherry"});
// 输出 vec2 中的元素
for (string str : vec2) {
cout << str << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
apple banana cherry
orange orange orange orange orange
apple banana cherry
```
可以看到,`assign` 函数可以用来赋值、填充 `vector` 容器。