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

1.4 KiB
Raw Blame History

Техническое задание: сортировка слиянием

Задача

Реализовать паттерн Strategy и собственный алгоритм сортировки слиянием объектов Student.

Требования

  1. Создать интерфейс SortStrategy<T> с методом:
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.

Результат

SortStrategy.java
MergeSortStrategy.java

StudentGroupComparator.java
StudentAverageGradeComparator.java
StudentRecordBookComparator.java