将vector的前一半元素和后一半元素进行划分到两个数组中
#include <vector>
#include <algorithm>
void splitVector(const std::vector<int>& input, std::vector<int>& output1, std::vector<int>& output2) {
auto mid = input.begin() + input.size() / 2;
std::partition_copy(input.begin(), mid, output1.begin(), output1.end(), mid, output2.begin());
}
splitVector函数接受一个输入vector和两个输出vector作为参数。该函数首先计算输入vector的中间位置,然后使用std::partition_copy算法将输入vector的前一半元素复制到输出vector1中,后一半元素复制到输出vector2中。最后,函数返回两个输出vector。
需要注意的是,std::partition_copy算法要求输出迭代器范围的大小必须与输入迭代器范围的大小相同,因此需要确保输出vector的大小与输入vector的大小相同。
No comments yet.