【发布时间】:2016-03-30 10:35:30
【问题描述】:
我创建了 Point 类,我有一个 Point 对象的数组列表,我想通过 mergesort 对其进行排序。
【问题讨论】:
-
可以吗?可以。
-
谷歌刚刚告诉我是的。
-
@Baldurian 请发布搜索词 :)
标签: java arrays sorting mergesort
我创建了 Point 类,我有一个 Point 对象的数组列表,我想通过 mergesort 对其进行排序。
【问题讨论】:
标签: java arrays sorting mergesort
假设您谈论的是 2D 或 3D 点,您将不得不考虑定义一个度量标准,以便它们是可排序的。
考虑二维空间中的示例点(1,0) 和(0,1)。是(1,0) > (0,1) 吗?还是(1,0) < (0,1)?这真的取决于应用程序。
你可以例如仅将第一个组件作为度量,那么它将是(1,0) > (0,1)。或者您可以从特定点获取距离,例如原点(0,0),在这种情况下它们是相等的。
无论如何,在您决定之后,您可以在互联网上查找排序算法的现有实现(尽管您似乎已经确定了 MergeSort)。 Here 就是一个例子。
各种编程语言中用于排序函数的大多数接口都需要一个关键函数(例如“获取第一个组件”或“与原点的距离”),或者一个自定义比较运算符。
【讨论】: