Różnice
Różnice między wybraną wersją a wersją aktualną.
|
|
pl:prolog:pllib:union [2019/06/27 15:50] |
pl:prolog:pllib:union [2019/06/27 15:50] (aktualna) |
| ====== Union ====== |
| {{tag>lists}} |
| ===== Description ===== |
| Finding the union of two lists |
| |
| **Source**: The Art of Prolog |
| ===== Download ===== |
| Program source code: {{union.pl}} |
| ===== Listing ===== |
| <code prolog> |
| /* |
| union(Xs,Ys,Us) :- Us is the union of the elements in Xs and Ys. |
| */ |
| |
| union([X|Xs],Ys,Us) :- member(X,Ys), union(Xs,Ys,Us). |
| union([X|Xs],Ys,[X|Us]) :- nonmember(X,Ys), union(Xs,Ys,Us). |
| union([],Ys,Ys). |
| /* |
| nonmember(X,Xs) :- X is not a member of the list Xs. |
| */ |
| nonmember(X,[Y|Ys]) :- X \== Y, nonmember(X,Ys). |
| nonmember(X,[]). |
| |
| |
| % Program 13.1 Finding the union of two lists |
| </code> |
| ===== Comments ===== |
| |