Lisp

Programmer

博客园 首页 新随笔 联系 订阅 管理
% member
member1(X, [X | Y]).
member1(X, [_ | B]) :-
member(X, B).
% append(list1, list2, result)
append1([], L2, L2).
append1([A | B], L2, [A | C]) :-
append(B, L2, C).
% revert(L1, L2)
revert(List,RevList):-
rev(List,[],RevList).
rev([H|T],S,R):-
rev(T,[H|S],R).
rev([],R,R).
perm([H|T],Perm):-
perm(T,SP),insert(H,SP,Perm).
perm([],[]).
insert(X,T,[X|T]).
insert(X,[H|T],[H|NT]):-
insert(X,T,NT).
posted on 2006-07-03 20:46  fei  阅读(261)  评论(0编辑  收藏  举报