28.01.2015 Views

AI 08226 Prolog (PROgramming in LOGic) - Department of ...

AI 08226 Prolog (PROgramming in LOGic) - Department of ...

AI 08226 Prolog (PROgramming in LOGic) - Department of ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

merge - better style<br />

153<br />

merge2([ ], L, L):- !. %prevent redundant solutions<br />

merge2(L, [ ], L).<br />

% boundary cases<br />

% follow<strong>in</strong>g clause does order<strong>in</strong>g test<br />

merge2([H1|Rest1],[H2|Rest2],[H1|Rest3]):-<br />

H1 < H2, !,<br />

%prevent backtrack<strong>in</strong>g<br />

merge2(Rest1, [H2|Rest2], Rest3).<br />

% No order<strong>in</strong>g test needed on this clause<br />

merge2(List1,[H|Rest2],[H|Rest3]):-<br />

merge2(List1, Rest2, Rest3).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!