/* * * borrar(X,L1,L2) genera una lista L2 suprimiendo todas las apariciones de X en L1 * */ borrar(_,[],[]). borrar(X,[X|Cola1],Cola2):- borrar(X,Cola1,Cola2). borrar(X,[Y|Cola1],[Y|Cola2]):- not(X = Y), borrar(X,Cola1,Cola2). /* * * borrar_bis(X,L1,L2) genera una lista L2 suprimiendo todas las apariciones de X en L1 * Se utiliza el corte en vez de la negación */ borrar_bis(_,[],[]):- !. borrar_bis(X,[X|Cola1],Cola2):- !, borrar_bis(X,Cola1,Cola2). borrar_bis(X,[Y|Cola1],[Y|Cola2]):- borrar_bis(X,Cola1,Cola2).