Как перемешать значение полей ```struct```
У меня есть структрура node, которая отображает узел дерева
int id;
node* parent;
std::vector<node> children;
node(int id, node* parent) {
this->id = id;
this->parent = parent;
}
node(int data) : node(data, nullptr){};
void add_children(const vector<node>& nodes) {
for (auto node : nodes) {
children.push_back(node);
}
}
};
Дан std::vector<node> этих узлов. Каким образом я могу перемешать id узлов между собой, иначе говоря, перемешать детей
Ответы (1 шт):
Автор решения: DmitryK
→ Ссылка
Для перемешивания элементов контейнеров есть функция std::shuffle().
Ещё можно вручную менять элементы сколько-то раз между собой с помощью std::swap().