gpt4 book ai didi

Java:对元素进行排序

转载 作者:行者123 更新时间:2023-12-02 08:14:50 26 4
gpt4 key购买 nike

我知道我们通常使用 java.util.Arrays.sort(Object[], Comparator) 。 JavaDoc 说它是修改后的合并排序。

但是我需要一个排序算法来将每个对象与每个对象进行比较。我将有很多元素,其中的顺序并不重要。但有些元素确实需要位于特定的其他元素之后(不一定是连续的)。我认为(但不知道)合并排序还不够......

或许,我想要实现的根本不叫排序

我是否需要自己实现这样一个系统,或者是否有相关的东西?

<小时/>

示例:

Obj1, Obj2, Obj3, Obj4

以下几对的顺序并不重要(这意味着我的比较器应该返回 0):

Obj1, Obj2 (*)
Obj1, Obj3
Obj2, Obj3
Obj2, Obj4 (*)
Obj3, Obj4

但是! Obj4 后面确实有必要 Obj1

由于有两对 (*),这在数学上意味着 Obj1 == Obj4。

使用归并排序可以吗?

谢谢

最佳答案

如果您知道理想的排序,一种选择是添加一些可排序的值,例如表示数据之间关系的整数。例如,如果项目 A 必须位于项目 B 之前,则确保其排序值小于项目 B 的值。然后,您可以提供一个仅查看排序值的自定义比较器,并且您可以使用标准排序算法。

关于Java:对元素进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6653053/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com