【发布时间】:2020-03-27 09:20:29
【问题描述】:
printtree_3( bt(Label,[],[]) ).
printtree_3( bt(Label,Left,Right) ) :-
printtree_3( Left ),
printtree_3( Right ),
printlabel( Label ).
printlabel( X ) :- write( X ), write( ' ' ).
我第一次尝试在 prolog 中遍历一棵树,我想我会通过用其他人的代码打印一棵树来亲自查看它的工作。问题是尝试运行此代码时,swipl 编译器总是得到“False”。
例如。
?- printtree_3(a(b,c,d)).
返回 false 而不是打印树。我认为我的谓词调用是错误的,但我不确定。同样,我不相信提供的代码,我只是想运行它以便进行实验。如果有人能解释为什么它不起作用,我将非常感激。
【问题讨论】:
-
大家好,我现在尝试使用 printtree_3(bt(a,b,c)) 调用谓词。但没有成功。我可能错过了重点。谁能给我一个有效的电话是什么样子的。
标签: tree prolog binary-tree