Prolog - 从列表中删除所有重复元素(仅保留唯一元素)

时间:2015-11-17 17:37:37

标签: prolog

所以我在Prolog中遇到一个问题,我必须从列表中删除所有重复元素。例如:struct in_device => L=[1,2,1,4,1,3,4]。我不允许使用任何内置的谓词。我知道如何删除重复项(例如R=[2,3] => L=[1,2,1,4,1,3,4]),但我只需要在列表中只出现一次的元素。

1 个答案:

答案 0 :(得分:1)

我们已经定义了服务谓词count_occurrences(Elem, List, Count).

然后我们可以访问列表,传递原始列表,如果我们需要保留或丢弃它,则逐个元素地决定。