Files
aston-team-project/docs/tasks/Sorting.md
T

49 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Техническое задание: сортировка слиянием
## Задача
Реализовать паттерн Strategy и собственный алгоритм сортировки слиянием объектов `Student`.
## Требования
1. Создать интерфейс `SortStrategy<T>` с методом:
```text
sort(MyList<T> list, Comparator<T> comparator)
```
1. Создать класс `MergeSortStrategy<T>`, реализующий `SortStrategy<T>`.
2. Реализовать алгоритм сортировки слиянием самостоятельно.
3. Готовые методы сортировки Java не использовать.
4. Сортировка должна работать с `MyList<T>`.
5. Сортировка должна использовать переданный `Comparator<T>`.
6. Реализовать сортировку `Student` по каждому из трёх полей:
- `groupNumber`;
- `averageGrade`;
- `recordBookNumber`.
7. Создать отдельные компараторы:
- `StudentGroupComparator`;
- `StudentAverageGradeComparator`;
- `StudentRecordBookComparator`.
8. `MergeSortStrategy` не должен зависеть от класса `Student`.
## Результат
```text
SortStrategy.java
MergeSortStrategy.java
StudentGroupComparator.java
StudentAverageGradeComparator.java
StudentRecordBookComparator.java
```