2015-02-17 2 views
0

Я хочу сортировать большую коллекцию чисел с Q, не сохраняя промежуточных результатов в таблицах. Как я могу сортировать списки в памяти, не создавая копии списка на каждой итерации? Могу ли я обновить существующий li: и изменить его элементы?Сортировка больших коллекций с Q

ответ

1

Q не «сохраняет» промежуточные результаты в сортировке ... Предполагаю, вы имели в виду большие накладные расходы памяти из-за копирования?

Для asc и desc у вас нет контроля над памятью, не переписывая их как функции c в более эффективном режиме памяти.

Я думаю, если вы напишете тип сортировки с разреженным ведром в c, где для каждого элемента вы поместите числа в разреженный список в квадратных скобках на диск, а не в память. Затем удалите список в памяти, а затем прочитайте с диска. Звучит очень медленно.

Я не понимаю, как еще вы это сделаете в q ... даже итерации через какой-либо вектор a и итерационно удаляете его, пока создание сортированного списка является проблемой, потому что вы все еще делаете копию перед удалением ,

Смежные вопросы