parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

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.