Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 0.33 KB | None | 0 0
  1. mysort([], []).
  2. mysort(L1, [X|L3]) :- min_elem(X, L1), delete_first(X, L1, L2), mysort(L2, L3).
  3.  
  4. min_elem(X, [X|[]]) :- !.
  5. min_elem(N, [X|L1]) :- min_elem(Y, L1), min(X, Y, N), !.
  6.  
  7. min(X, Y, X) :- X =< Y, !.
  8. min(X, Y, Y) :- X > Y.
  9.  
  10. delete_first(E, [E|R], R) :- !.
  11. delete_first(E, [X|R1], [X|R2]) :- delete_first(E, R1, R2).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement