From c8d2683c5d5995d99e1ec47a6fbcfe7381b26de1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=BE=D0=BB=D0=BE=D0=B4=D0=B8=D0=BD=20=D0=93=D0=B5?= =?UTF-8?q?=D1=80=D0=BC=D0=B0=D0=BD?= Date: Fri, 21 Aug 2026 20:09:43 +0400 Subject: [PATCH] docs: update sorting task to merge sort --- docs/tasks/Sorting.md | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/docs/tasks/Sorting.md b/docs/tasks/Sorting.md index 65bbffa..3fc39b0 100644 --- a/docs/tasks/Sorting.md +++ b/docs/tasks/Sorting.md @@ -1,8 +1,8 @@ -# Техническое задание: сортировка +# Техническое задание: сортировка слиянием ## Задача -Реализовать паттерн Strategy и собственный алгоритм сортировки объектов `Student`. +Реализовать паттерн Strategy и собственный алгоритм сортировки слиянием объектов `Student`. ## Требования @@ -12,39 +12,37 @@ sort(MyList list, Comparator comparator) ``` -1. Создать класс `BubbleSortStrategy`, реализующий `SortStrategy`. +1. Создать класс `MergeSortStrategy`, реализующий `SortStrategy`. -2. Алгоритм сортировки реализовать самостоятельно. Готовые методы сортировки Java не использовать. +2. Реализовать алгоритм сортировки слиянием самостоятельно. -3. Сортировка должна работать с `MyList`, а не со стандартными коллекциями Java. +3. Готовые методы сортировки Java не использовать. -4. Сортировка должна использовать переданный `Comparator`. +4. Сортировка должна работать с `MyList`. -5. Реализовать возможность сортировки `Student` по каждому из трёх полей: +5. Сортировка должна использовать переданный `Comparator`. + +6. Реализовать сортировку `Student` по каждому из трёх полей: - `groupNumber`; - `averageGrade`; - `recordBookNumber`. -6. Для каждого поля создать отдельный компаратор: +7. Создать отдельные компараторы: - `StudentGroupComparator`; - `StudentAverageGradeComparator`; - `StudentRecordBookComparator`. -7. Алгоритм сортировки не должен зависеть от класса `Student`. +8. `MergeSortStrategy` не должен зависеть от класса `Student`. ## Результат -Должны быть реализованы: - ```text SortStrategy.java -BubbleSortStrategy.java +MergeSortStrategy.java StudentGroupComparator.java StudentAverageGradeComparator.java StudentRecordBookComparator.java ``` - -Классы должны работать с `MyList` и не использовать готовые реализации сортировки.