You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多个Red Black Trees实例数据交叉混淆问题排查求助

红黑树实例数据交叉问题排查结果

核心错误原因

你的RedBlackBST类中的root属性被错误声明为static静态成员:

public static Node root = null;

static修饰的成员属于类本身,而非类的实例对象。也就是说你创建的所有RedBlackBST实例,都会共用同一个root节点存储树结构。你先后往co2DateKey、co2NumKey插入数据时,实际都是修改全局唯一的这棵红黑树,所以遍历第一个实例时,会输出所有插入过的数据。

修复方案

只需要把root属性的static修饰符删除即可,让每个实例拥有独立的根节点:

public Node root = null;

其他注意事项

修改完成后,你现有代码中get、getColor方法调用的root会自动指向当前实例的独立根节点,无需额外调整,所有红黑树实例的数据隔离问题就会完全解决。

内容的提问来源于stack exchange,提问作者potroast12

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 14:36:03