如何用Java中的MergeSort对点数组进行排序?

时间:2016-03-30 10:35:30

标签: java arrays sorting mergesort

我创建了Point类,我有一个Point对象的数组列表,我想按mergesort排序。

1 个答案:

答案 0 :(得分:0)

假设您正在谈论2D或3D点,您必须考虑定义一个可订购的指标。

考虑2D空间中的示例点(1,0)(0,1)。是(1,0) > (0,1)吗?还是(1,0) < (0,1)?这实际上取决于应用程序。

你可以,例如仅将第一个组件作为指标,然后它将是(1,0) > (0,1)。或者您可以从特定点获取距离,例如原点(0,0),在这种情况下它们是平等的。

无论如何,在你决定之后,你可以在互联网上查找现有的排序算法实现(你似乎已经确定了MergeSort)。 http://docs.syncano.io/docs/authentication就是一个例子。

用于各种编程语言中的排序功能的大多数接口都需要键功能(例如“获取第一个组件”或“距离原点的距离”)或自定义比较运算符。