% ========================================================================== % $Id: list_delete.pl,v 1.1 2014/01/21 04:50:36 jlang Exp $ % CSI2120 example Code for lecture 5 % ========================================================================== % (C)opyright: % % Jochen Lang % EECS, University of Ottawa % 800 King Edward Ave. % Ottawa, On., K1N 6N5 % Canada. % http://www.eecs.uottawa.ca/~jlang % % Creator: jlang (Jochen Lang) based on Clocksin & Mellish % Email: jlang@eecs.uottawa.ca % ========================================================================== % $Log: list_delete.pl,v $ % Revision 1.1 2014/01/21 04:50:36 jlang % Added further list processing for lecture 5. % % ========================================================================== % Delete element from front deleteFront(R,[R|L],L). % Element found deleteFront(R,[X|LL],[X|L]) :- deleteFront(R,LL,L). % Use Accumulator % Delete all occurrences of an element deleteAll(_,[],[]). deleteAll(X,[X|T],Result) :- deleteAll(X,T,Result),!. % Delete once deleteAll(X,[H|T],[H|Result]) :- deleteAll(X,T,Result). % Other element