Здравствуйте, Ororo1, Вы писали:
#include <vector>
#include <list>
#include <set>
#include <iostream>
#include <stdint.h>
std::set<int32_t> GetNext(const std::vector<std::list<int32_t>> &source)
{
if (source.empty()) return std::set<int32_t>();
std::set<int32_t> result;
for (uint32_t sourceIndex = 0; sourceIndex < source.size(); ++sourceIndex) {
result.insert(source[sourceIndex].begin(), source[sourceIndex].end());
}
return result;
}
int main()
{
std::list<int32_t> source1 = { 1, 5, 12, 28, 31 };
std::list<int32_t> source2 = { 6, 9, 13 };
std::list<int32_t> source3 = { 3, 7, 10, 15 };
std::vector<std::list<int32_t>> sources;
sources.push_back(source1);
sources.push_back(source2);
sources.push_back(source3);
auto result = GetNext(sources);
for (auto value : result) {
std::cout << value << std::endl;
}
return 0;
}