树形递归遍历实现多级评论

最近参加了学校的网页设计大赛,做了一个论坛网站,期间后台的多级评论用了我很多时间,什么是多级评论呢,也就是针对某一条评论,其他用户都可以在该评论基础上回复对方,这样也就形成了一条树形结构,我用了递归来实现树的遍历,感觉哥哥算法很有用,在许多方面都有可能用到,比如说像QQListView分组显示都可以用它来实现。具体实现思路:1、通过构建节点来记录数据,节点要求:记录父节点;记录自身节点,记录子节点,
摘要由CSDN通过智能技术生成

最近参加了学校的网页设计大赛,做了一个论坛网站,期间后台的多级评论用了我很多时间,什么是多级评论呢,也就是针对某一条评论,其他用户都可以在该评论基础上回复对方,这样也就形成了一条树形结构,我用了递归来实现树的遍历,感觉这个算法很有用,在许多方面都有可能用到,比如说像QQListView分组显示都可以用它来实现。

具体实现思路:

1、通过构建节点来记录数据,节点要求:记录父节点;记录自身节点,记录子节点,记录节点所在树。

2、将已经记录了信息的节点保存到集合表中,对集合表进行遍历排序。

3、将排好序的集合表用于项目中遍历显示。

接下来给大家展示核心代码:

我还是来一张网站多级评论图片(嘿嘿):

这里写图片描述
一、Node类:

public class Node 
{
    private int id;//自己的id,-1时表示叶子节点
    private int p_id;//父节点id,0时表示根节点
    private int root_number;//这个是每条树的唯一标识,表示该节点所在根
    private Node parent;//记录父节点,每个节点只有一个父节点
    private List<Node> children;//记录子节点,子节点可以有多个
    //其他属性根据具体需求添加,以上都是必须的

    public Node(int id, int p_id, int root_number)
    {
        this.id = id;
        this.p_id = p_id;
        this.root_numbe
  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值