Prolog – Delete – Изтриване на елементи от списък


Изтриване на елементи от списък на Пролог.

Изтриване на първо срещане на елемент от списък.

delete(X,[X|L],L).
delete(X,[Y|L1],[Y|L2]):- delete(X,L1,L2).

Пример със резултат

?- delete(2,[1,2,3,4],L).
% 1,3,4

Изтриване на всички срещания на елементи от списък.

deleteall(X,[],[]).
deleteall(X,[X|L],L1):- deleteall(X,L,L1).
deleteall(X,[Y|L],[Y|L1]):- Y \= X, deleteall(X,L,L1).

Пример:

?- deleteall(5,[1,5,5,5,6,7,6,5],L).
% 1,6,7,6
  1. Няма коментари.
(will not be published)