编写测试谓词以查看是否已从列表中删除所有重复项

时间:2016-03-09 15:50:22

标签: list prolog duplicates

我正在尝试编写一个谓词removeDups/2,其输入是一个列表,它测试谓词removeDups/1是否确实删除了任何重复项但保留了列表的所有元素。这是我的%if H is in the accumulator, it does nothing and processes the tail. %If H isn't a member of the accumulator, append H to it and then process the tail. removeDups(List, Set):- removeDupsHelp(List, [], Set). removeDupsHelp([], Acc, Acc). removeDupsHelp([H|T], Acc, Set):-member(H, Acc),removeDupsHelp(T, Acc, Set). removeDupsHelp([H|T], Acc, Set):- removeDupsHelp(T,[H|Acc], Set). 谓词的代码。我试图为它创建测试

$(document).ready(function(){
    $(".openDrops").click(function(){
       x = $(this).offset().top + 20 + 'px';
       y =$(this).offset().left + 20 + 'px';
       $('.pop').css('top', x).css('left', y).show();
    });
});

1 个答案:

答案 0 :(得分:1)

在上一个问题中回答我们知道sort/2谓词删除重复项,因此请使用sort(Your_List,Sorted_List)并检查Sorted_List是否与谓词中的Set具有相同的元素。