147{
148 size_t p = subset_size;
149 for (
size_t i = 0; i <
p; i++)
150 {
151
152 if ((i <
p - 1 && subset[i] + 1 < subset[i + 1]) ||
153 (i ==
p - 1 && subset[i] + 1 < n))
154 {
155 subset[i]++;
156 for (size_t j = 0; j < i; j++) subset[j] = j;
157 return true;
158 }
159 }
160 return false;
161}