猿问

TreeMap排序源码分析有疑问

疑问点在于,

if (cmp < 0)
t = t.left;
else if (cmp > 0)
t = t.right;
else
return t.setValue(value);

上面这段代码的意思是,根据比较器想t移到原来节点的子节点。那么移动以后parent节点是原来的t,t变到了原来的子节点,那么下面这段代码又是什么意思呢。

if (cmp < 0)
parent.left = e;
else
parent.right = e;
fixAfterInsertion(e);

让parent的左右节点成e(插入节点),那么岂不是跟t节点重复了?t阶段存在的意义到底是什么。


慕丝7291255
浏览 590回答 1
1回答
随时随地看视频慕课网APP

相关分类

Java
我要回答