Есть ли способ сделать красивую и элегантную взвешенную перетасовку, используя стандартную библиотеку? Есть std::discrete_distribution
. Я хочу что-то вроде этого:
std::vector<T> data { N elements };
std::vector<int> weights { N weights };
std::shuffle(std::begin(data), std::end(data), something based on discrete distribution);