如何从一个 list<int>初始化一个 vector<double>?从一个 vector<int>又 该如何创建?编写代码验证你的答案。用c++实现
时间: 2023-08-10 11:05:40 浏览: 85
算法周报.pdf
从一个 `list<int>` 初始化一个 `vector<double>` 可以使用 `vector` 的构造函数,例如:
```c++
#include <iostream>
#include <list>
#include <vector>
int main() {
std::list<int> l = {1, 2, 3, 4, 5};
std::vector<double> v(l.begin(), l.end());
for (const auto& num : v) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
从一个 `vector<int>` 创建一个 `vector<double>` 可以使用 `std::transform` 算法,例如:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> v = {1, 2, 3, 4, 5};
std::vector<double> d(v.size());
std::transform(v.begin(), v.end(), d.begin(), [](int i) { return static_cast<double>(i); });
for (const auto& num : d) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
以上代码中的 `static_cast<double>(i)` 将 `int` 类型的 `i` 转换为 `double` 类型的数值。
阅读全文