用于创建矢量长度向量的写入算法
Write algorithm for creating vector of vector lengths
我有一个整数向量向量。 每个第 2 层向量可以具有不同的长度。 我想创建整数向量,其中每个值是相应向量的长度除以一个常量。
例如:
std::vector<int> a = { 1, 2, 3 };
std::vector<int> b = { 1, 2, 3, 4 };
const int kDivisor = 10;
std::vector<std::vector<int>> collection;
collection.push_back(a);
collection.push_back(b);
std::vector<double> scaled_lengths;
for (auto v : collection) {
scaled_lengths.push_back(static_cast<double>(v.size()) / kDivisor);
}
所需输出为 scaled_length = [.3, .4]
我可以使用 STL 算法来获取此输出吗?
谢谢!
它并不简单,但也许您希望它作为更大事物的构建块。
scaled_lengths.resize(collection.size());
std::transform(collection.begin(), collection.end(), scaled_lengths.begin(),
[=](auto &v) { return static_cast<double>(v.size())/kDivisor; });
相关文章:
- 为什么在此排序算法实现中,向量明显比数组慢?
- 如何使用 STL 算法将整数向量转换为字符串向量?
- C++向量初始化遗传算法的代理向量
- 使用 Rcpp 加速替换迭代算法中的列表和向量元素是否合法?
- 检查向量是否使用除法和阻抗算法进行排序
- 从整数向量向量搜索整数向量的最佳算法
- 如何通过 stl 容器和算法库计算两个向量的内积?
- 如何在不使用标准算法的情况下在排序向量中添加 c 元素?
- C++ std::向量插入两个元素替代算法失败
- 五个中三个最大参数的平均值,不使用排序算法或向量/数组
- 使用STL算法合并2个向量
- adjacent_difference算法,back_inserter向量<向量<int>>
- 并行算法将向量的元素分配到另一个元素的元素
- 双重释放或损坏(输出):使用向量的组合算法0x0000000001a880a0***
- C++ 重新散列算法向量
- 使用QuickSort算法以降序排序向量
- 使用算法查找自定义数据向量中的最大值和最小值
- 为对象向量实现快速排序算法
- 在不使用默认算法的情况下对字符串的 std 向量进行排序
- 向量返回/加法算法的问题