Ответ
Misha v.3 31.10.2013 04:48
/ 31.10.2013 04:51
так не фонтан, imho.
при сортировке сначала пробегается вся таблица и для каждой строки вычисляется значение на основе тела sort. каждое значение запоминается. в случае тела в виде ^math:random(2) каждая строка получит значение 0 или 1.
потом полученное сортируется с помощью qsort.
для deterministic алгоритмов сортировки все значения, у которых получился 0 будут помещены в результирующую таблицу в исходном порядке. а за ними, опять же в исходном порядке, будут помещены все строки с 1.
для не determnistic алгоритмов порядок элементов с одинаковыми значениями не определён, но он в любом случае не random.
какая конкретно реализация qsort в конкретной системе я не знаю. обычный qsort не deterministic, а enhanced qsort -- deterministic.