Mac*_*zie 5 java language-agnostic sorting algorithm
假设我有一个四个对象的未排序列表:[B, C, A, D].
所有四个对象都属于同一类型,并且:
(A > B),
(C > D),
(A != C or D)
(B != C or D)
(C != A or B)
(D != A or B).
Run Code Online (Sandbox Code Playgroud)
通过!=我的意思是,他们既不是小于,等于到或大于其他对象.
我需要"排序"名单,从而A会经常来之前B,并且C会经常来之前D.除了这两个要求之外,我对列表的排序没有要求; 因此,给定前面描述的列表,sort函数应返回[A, B, C, D]或[C, D, A, B].
至于这个问题的原因,我试图java.lang.Class根据它们之间的关系对一组对象进行排序.例如,如果A是超类/超级接口B,则A小于B.如果是Aextends/implements B,则A大于B.如果A是B,那么显然是A等于B.否则,A完全不可比B.