Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Misha v.3 27.10.2013 09:38 / 27.10.2013 09:53
вообще такой алгоритм найдёт только одну случайную позицию в диапазоне таблицы.^if($requested_count >= $table){ $result[^table::create[$table]] ^result.sort(^math:random(1)) }{ $h[^hash::create[]] ^while($h < $requested_count){ $h.[^math:random($table)](true) } $result[^table::create[$table][$.limit(0)]] ^h.foreach[offset;]{^result.join[$table][$.offset($offset)$.limit(1)]} }это будет эффективнее, чем "случайно" сортировать таблицу.