OberonCore
https://forum.oberoncore.ru/

(стабильная) сортировка для списков, и не очень для массивов
https://forum.oberoncore.ru/viewtopic.php?f=47&t=6887
Страница 1 из 1

Автор:  arisu [ Среда, 11 Январь, 2023 11:12 ]
Заголовок сообщения:  (стабильная) сортировка для списков, и не очень для массивов

две маленькие процедуры, удобные, в принципе, для копипасты в свои проекты. на деле процедуры универсальные: работа с массивами и со списками делается через специальные worker records.

первая — HeapSort, вторая — сортировка списков (одно- или двусвязных, циклических или нет) методом MergeSort. сортировка списков, полагаю, особенно интересна: она не требует дополнительной памяти, и обладает всеми полагающимися MergeSort'у свойствами.

в сортировке списка пример, как сортировать список файлов или каталогов, полученый из Files. собственно, для этого оно мне и понадобилось; решил поделиться с народом: может, ещё кому пригодится. оригинальный код — Simon Tatham, перевод с C на D, и потом на Component Pascal — мой. а хипсорт совершенно обычный, «ничей».

Вложения:
Комментарий к файлу: подсистема Lament, два модуля
lamentsort.7z [3.98 КБ]
Скачиваний: 356

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/