start
我有一个对象列表,其中每个对象都具有end
以下属性:
Item 0:
Start: 1
End: 12
Item 1:
Start: 6
End: 3
Item 2:
Start: 12
End: 6
我想订购它们,以便新列表中的每个项目都start
与end
之前和之后的项目相匹配。
所以在这个例子中,它将是:
[Item 0] [Item 2] [Item 1]
[1 12] [12 6] [6 3]
整个列表是否颠倒都没关系。
还有 2 个像上面那样不相关的列表混合在一起,所以我必须形成 2 个新列表,它们将具有正确的顺序,如上所示。
我只是要开始“蛮力”实现它,所以做了很多查询来创建这些列表,但我想问是否有人可能有更优雅的方法来解决这个问题。我不确定这种问题有多普遍,但我记得以前见过这个,所以也许有一些模式可以解决这个问题。