在C++中,可以使用以下函数将向量分成三个独立的向量:
#include <iostream>
#include <vector>
std::vector<std::vector<int>> splitVector(const std::vector<int>& inputVector) {
std::vector<std::vector<int>> result;
int size = inputVector.size();
// 计算每个子向量的大小
int subSize = size / 3;
// 分割第一个子向量
std::vector<int> subVector1(inputVector.begin(), inputVector.begin() + subSize);
result.push_back(subVector1);
// 分割第二个子向量
std::vector<int> subVector2(inputVector.begin() + subSize, inputVector.begin() + 2 * subSize);
result.push_back(subVector2);
// 分割第三个子向量
std::vector<int> subVector3(inputVector.begin() + 2 * subSize, inputVector.end());
result.push_back(subVector3);
return result;
}
int main() {
std::vector<int> inputVector = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
std::vector<std::vector<int>> result = splitVector(inputVector);
// 输出分割后的三个独立向量
for (const auto& subVector : result) {
for (const auto& element : subVector) {
std::cout << element << " ";
}
std::cout << std::endl;
}
return 0;
}
这个函数将输入的向量分成三个独立的向量,并将它们存储在一个二维向量中返回。函数首先计算每个子向量的大小,然后使用迭代器将输入向量分割成三个子向量。最后,将这三个子向量添加到结果向量中并返回。
这个函数的应用场景可以是在需要将一个大向量分成多个较小的独立向量时使用。例如,在并行计算中,可以将一个大任务分成多个子任务,每个子任务由一个独立的向量表示。这样可以提高计算效率和并行性能。
腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅为示例,具体产品选择应根据实际需求进行评估和选择。
领取专属 10元无门槛券
手把手带您无忧上云