Skip to content

Latest commit

 

History

History
21 lines (16 loc) · 1.95 KB

README.md

File metadata and controls

21 lines (16 loc) · 1.95 KB

Внешняя сортировка

Реализация и тест внеших сортировок Информацию можно найти по ссылке -> https://prog-cpp.ru/sort-merge/

Информация для использования

Реализованные сортировки вы можете найти в проекте ExternalSort.
Для использования сортировок вы должны имплементировать интерфейсы IExternalReader и IExternalWriter.
Эти интерфейсы предоставляют доступ на запись и чтение вашего типа.
Сортируемый тип вы должны создать в виде класса или структуры и обязательно имплементировать в нем функционал IComparable.
Для примера реализован проект StudentData.

Алгоритмы

Сортировка двухпутевым слиянием - TwoWayMerge

Исходная последовательность разбивается на две подпоследовательности.
Эти две подпоследовательности объединяются в одну, содержащую упорядоченные пары.
Полученная последовательность снова разбивается на две, и пары объединяются в упорядоченные четверки.
Полученная последовательность снова разбивается на две и собирается в упорядоченные восьмерки.
Данная операция повторяется до тех пор, пока полученная упорядоченная последовательность не будет иметь такой же размер, как у сортируемой.