Professional Documents
Culture Documents
add(X,L,[X|L]).
add(_,L,L).
% 9.elimina de la pozitia K
remove_at(X,[X|T],1,T).
% 10.insereaza pe pozitia K
insert_at(X,L,K,R) :- remove_at(X,R,K,L).
% 18.concat 2 lists
append2L([],L,L).
append2L([H|T],L,[H|R]):-append2L(T,L,R).
% 19.concat 3 lists
append3L(L1,L2,L3,R):-append(L2,L3,PR), append(L1,PR,R).
% 20.delete one
delete1(X,[X|T],T):-!.
delete1(X,[H|T],[H|R]):-delete1(X,T,R).
% 21.delete aparitii
delete_all(X,[X|T],R):-!,delete_all(X,T,R).
delete_all(X,[H|T],[H|R]):-delete_all(X,T,R).
delete_all(_,[],[]).
delete_all_keepOne(X,[X|T],R):-delete_all_keepOne(X,T,R).
delete_all_keepOne(X,[H|T],[H|R]):-delete_all_keepOne(X,T,R),!.
delete_all_keepOne(_,[],[]).
addElemFront(X,L,[X|L]).
addElemEnd(X,L).
delete_one(X,[X|T],T):-!.
delete_one(X,[H|T],[H|R]):-delete_one(X,T,R).
Liste incomplete
member_il(_, L):- var(L), !, fail.
member_il(X, [X|_]):- !.
% 1. Write a predicate which appends two incomplete lists (the result should be an incomplete list
also).
append_il(L1,L2,L2):-var(L1), !.
append_il([H|T],L2,[H|R]):-append_il(T,L2,R).
Arbori
% 1.parcurgere arbore
append(LL, [K|LR],List).
inorder(nil, []).
preorder(nil, []).
postorder(nil, []).
Arbori incompleti
search_it(_, T):- var(T), !, fail.