Skip to content

Latest commit

 

History

History
21 lines (16 loc) · 1.74 KB

README.md

File metadata and controls

21 lines (16 loc) · 1.74 KB

Сравнение методов сортировки (Денисьев Илья, вариант 3 / 2 / 3 / 5)

Сборка

Весь исходный код содержится в единственном файле main.c, при желании также можно собирать с помощью CMake. Компилировать следует по стандарту C99, не следует использовать флаги компиляции -Wfloat-equal и -Wswitch-default.

Технические детали

Реализованы два метода сортировки: пирамидальная и Шелла, при этом для второй поддерживается гибкая настройка последовательности (для примера реализованы две: Стасевича и Сэджвика).

Вещественные числа генерируются равномерно в диапазоне [2¹⁶; 2¹⁷). Поскольку они только сравниваются и перемещаются и никаких арифметических операций с ними не производится, то сравнение производится "в лоб", то есть числа с различными бинарными представлениями считаются различными.

Настраиваются также размеры массивов и типы тестов (при этом в конструкциях switch намеренно пропущен случай default, чтобы программа не компилировалась при отсутствии обработчика какого-то типа теста).