簡體   English   中英

如何在 Java 中通過 MergeSort 對點數組進行排序?

[英]How to sort an Array of Points by MergeSort in Java?

我創建了 Point 類,並且有一個 Point 對象的數組列表,我想按歸並排序對其進行排序。

假設您在談論 2D 或 3D 點,您將不得不考慮定義一個指標,以便它們可以排序。

考慮二維空間中的示例點(1,0)(0,1) (1,0) > (0,1)嗎? 還是(1,0) < (0,1) 這真的取決於應用程序。

例如,您可以僅將第一個組件作為度量標准,那么它將是(1,0) > (0,1) 或者您可以從特定點(例如原點(0,0)獲取距離,在這種情況下它們將相等。

無論如何,在您決定之后,您可以在互聯網上查找排序算法的現有實現(盡管您似乎確定了 MergeSort)。 是一個例子。

大多數在各種編程語言中排序函數的接口都需要一個關鍵函數(例如“獲取第一個組件”或“與原點的距離”),或者一個自定義的比較運算符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM