Prolog list difference routine

前端 未结 4 912
北海茫月
北海茫月 2020-12-18 01:17

I am trying to implement a list difference routine in prolog. For some reason the following fails:

difference(Xs,Ys,D) :- difference(Xs,Ys,[],D).
difference(         


        
4条回答
  •  无人及你
    2020-12-18 01:36

    minus([H|T1],L2,[H|L3]):-
        not(member(H,L2)),
        minus(T1,L2,L3).
    minus([H|T1],L2,L3):-
        member(H,L2),
        minus(T1,L2,L3).
    minus([],_,[]). 
    

    minus([1,2,3,4,3], [1,3], L).
    
    output: L=[2,4]
    

提交回复
热议问题