尽管我追踪了我的计划,但我无法理解为什么它会返回false
:
insertBST(t(Root, L, R), Root, t(Root, L, R)).
insertBST(nil, Elem, t(Elem, nil, nil)).
insertBST(t(Root, L, R), Elem, t(Root, L, newR)) :-
Root < Elem,
insertBST(R, Elem, newR).
insertBST(t(Root, L, R), Elem, node(Root, newL, R)) :-
Root > Elem,
insertBST(L, Elem, newL).
?- insertBST(t(11, nil, nil), 15, X).
false.
你能解释一下吗?