Моя цель - создать вектор с шаблоном {1}, заданным max_ = 2, {1,2,1}, заданным max_ = 3, {1,2,1,3,1,2,1}, заданным max_ = 4... etc
Вот мой псевдокод:
std::vector<int> generate_zimin(int max_)
{
if(max_ == 2)
{
return {1};
}
else
{
return {generate_zimin(max_-1), (max_-1), generate_zimin(max_-1)};
}
}
Как вставить векторы в анонимный вектор?
edit:
std::vector<int> generate_zimin(std::vector<int> current, int max_)
{
if(max_ == 2)
{
return {1};
}
else
{
std::vector<int> prev = generate_zimin(current, max_-1);
current.insert(current.end(), std::begin(prev), std::end(prev));
current.push_back(max_-1);
current.insert(current.end(), std::begin(prev), std::end(prev));
return current;
}
}
выглядит намного менее элегантно, и я просто пытался этого избежать, но я понимаю, почему я ошибался.