Как создать симметричную последовательность (одинаковое количество элементов каждой части) между 0 и 1 в c? - PullRequest
1 голос
/ 15 мая 2019

У меня есть список с двойной цепью, с дескриптором которого информация в каждом узле является футбольной командой (также структурированного типа, с именем, происхождением и идентификационным номером). Я должен случайным образом разделить все команды на две группы, но в каждой из них должно быть одинаковое количество (кроме случаев, когда количество нечетное).

Ответы [ 2 ]

0 голосов
/ 15 мая 2019

вы можете перебирать свой список, вычислять значение хеш-функции для каждого элемента (которое должно быть почти случайным) и сортировать элемент по значению хеш-функции по модулю количества категорий, которые вы хотите иметь (здесь 2).Мне кажется, что это может сделать работу.

0 голосов
/ 15 мая 2019

Выберите одну команду случайным образом и назначьте ее группе 1. Затем выберите другую команду случайным образом и назначьте группу 2.

Повторяйте, пока все команды не будут назначены группе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...