| 270 | // I must be a random-access iterator. |
| 271 | template <typename I> |
| 272 | void shuffle_array(I begin, I end) |
| 273 | { |
| 274 | size_t n = end - begin; |
| 275 | while (n > 1) |
| 276 | { |
| 277 | const int i = random2(n); |
| 278 | n--; |
| 279 | iter_swap(begin + i, begin + n); |
| 280 | } |
| 281 | } |
| 282 | |
| 283 | template <typename T> |
| 284 | void shuffle_array(T &vec) |
no test coverage detected