37 std::vector<std::size_t> indices(population.
size());
39 std::iota(indices.begin(), indices.end(), 0);
41 count = std::min(count, population.
size());
43 std::ranges::nth_element(
45 indices.begin() + count,
50 std::vector<Individual<GeneType>> selectedDeme;
51 selectedDeme.reserve(count);
52 for (std::size_t i = 0; i < count; ++i) {
53 selectedDeme.push_back(population[indices[i]]);