(序言)在列表中查找邻居

长生晋成

我们必须编写一个Prolog谓词neighbors(X,Y,L),如果L是一个列表,X并且Y列表中的邻居元素,则该谓词为true 到目前为止,我写道:

neighbors(X,X,[X]).
neighbors(X,Y,[X,Y|R]):- neighbors(X,Y,R).
neighbors(X,Y,[Y,X|R]):- neighbors(X,Y,R).`

但是[]无论输入如何,输出总是会(显然)带括号(“ ”)。那么,你们可以给我一些有关如何改进此谓词的建议吗?我们最近开始使用Prolog,所以我仍然需要一些实践。

乔尔76

您应该使用append:

neighbors(X,X,[X]).

neighbors(X,Y,L) :-
      append(_, [X,Y|_], L)
    ; append(_, [Y,X|_], L).

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档