Сообщение Re: Зачем все усложнять? от 16.10.2014 13:17
Изменено 16.10.2014 14:18 xobotik
Здравствуйте, 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) {
for (auto it = source[sourceIndex].begin(); it != source[sourceIndex].end(); ++it) {
result.insert(*it);
}
}
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;
}Re: Зачем все усложнять?
Здравствуйте, 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;
}