我一直在努力解决问题BST(二进制搜索树) 例如: -
checkBST(t(6; t(4; t(2; nil; nil); t(5; nil; nil)); t(9; t(7; nil; nil); nil))):
true:
我的代码在Windows中工作但在ubuntu中它显示语法错误。这是我的代码。
checkBST(nil).
checkBST(t(X,L,R)):-
checkBSTs(L,L1),
checkBSTs(R,R1),
( R1==null -> true ; X<R1 ),
( L1==null -> true ; X>L1 ).
checkBSTs(nil,X):-
X=null.
checkBSTs(t(X,L,R),X1):-
X1 is X,
checkBSTs(L,L1),
checkBSTs(R,R1),
( R1==null -> true ; X<R1 ),
( L1==null -> true ; X>L1 ).