Я создал класс Point, и у меня есть список массивов объектов Point, которые я хочу отсортировать по mergesort.Как отсортировать массив точек с помощью MergeSort в Java?
ответ
Предполагая, что вы говорите о двумерных или трехмерных точках, вам придется подумать об определении такой метрики, чтобы они были упорядочиваемыми.
Рассмотрите примерные пункты (1,0)
и (0,1)
в 2D пространстве. Есть (1,0) > (0,1)
? Или (1,0) < (0,1)
? Это действительно зависит от приложения.
Вы можете, например. возьмите только первый компонент как метрику, тогда это будет (1,0) > (0,1)
. Или вы можете взять расстояние от определенной точки, например. происхождение (0,0)
, и в этом случае они будут равны.
В любом случае, после того, как вы определились с этим, вы можете найти существующие реализации алгоритмов сортировки (хотя, похоже, вы определились с MergeSort), в Интернете. Here - один пример.
Большинство интерфейсов для сортировки в различных языках программирования требуют либо ключевой функции (например, «получить первый компонент» или «расстояние от источника»), либо пользовательского оператора сравнения.
* Возможно ли? * Да. –
Google просто сказал мне, что это так. –
@Baldurian Пожалуйста, разместите поисковый запрос :) – Prashant