Как иметь несколько BST в классе, отсортированном по разным типам ключей - PullRequest
0 голосов
/ 11 октября 2019

Я делаю программу, в которой есть секционный класс, содержащий три BST, которые состоят из студентов. Существует класс ученика, для которого у ученика есть имя, оценка и идентификационный номер. Каждый BST в классе раздела должен быть отсортирован соответствующим образом, по имени, по количеству баллов и по номеру ID. Я борюсь с переопределением сравнения, чтобы иметь возможность сравнивать по-разному, основываясь на BST, к которому добавляется студент. Мое переопределенное сравнение в настоящее время находится в моей секции студента. Есть ли способ эффективно добавить студента в каждый BST, сортируя их этими тремя различными способами?

В данный момент мой CompareTo сортирует только по имени, поэтому я могу правильно создавать BST, отсортированные по имени, но я не могу 'Кажется, я не могу понять, как сортировать это по-другому, если я хочу. Моя единственная мысль состояла в том, чтобы иметь возможность указать дополнительный параметр в CompareTo в качестве ключа, например «name», «Score» или «ID», с помощью которого я мог бы переключать регистры внутри CompareTo для сравнения различных способов в зависимости от того, какой параметр япрошло это. Однако, к сожалению, я переопределяю CompareTo только для одного параметра, который имеет его супер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...