gpt4 book ai didi

java - 按层次结构将相关数据排序在一起

转载 作者:行者123 更新时间:2023-12-02 05:16:31 25 4
gpt4 key购买 nike

我有一个 A 类项目列表,它们是层级相关的项目,如下所示

实际

List[
A{id:1,parentId:1}
A{id:2,parentId:1}
A{id:3,parentId:1}
A{id:4,parentId:1}
A{id:6,parentId:2}
A{id:7,parentId:6}
]

我需要按以下方式对其进行排序。我尝试了比较器,但它确实变得很复杂。我不确定是否必须使用树排序或任何其他算法来解决这个问题。谢谢。

必填

List[
A{id:1,parentId:1}
A{id:2,parentId:1}
A{id:6,parentId:2}
A{id:7,parentId:6}
A{id:3,parentId:1}
A{id:4,parentId:1}
]

正如您所看到的,分层项目都排序到开头(不需要在开头),但必须在列表中在一起。

最佳答案

已更新
您应该使用深度搜索算法,例如 described here .
此图说明了如何获取所需订单的想法:enter image description here

伪代码中,这很简单,这是深度搜索算法的排序版本: p>

_items[] depthSort (_parent){
add _parent to _items[];

get _children of _parent sorted by desired attribute;

for every _item in _children
depthSort(_item);
}

关于java - 按层次结构将相关数据排序在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26896504/

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