Guest User

Untitled

a guest
Nov 28th, 2018
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 0.62 KB | None | 0 0
  1. odleglosc([],_,0,_) :- !.
  2. odleglosc([H|_],H,Y,Y) :- !.
  3. odleglosc([_|T],X,Y,Z) :- Z1 is Z + 1, odleglosc(T,X,Y,Z1).
  4.  
  5. insert(L,[],[L]).
  6. insert([X,X1],[[H,Z]|T],[[X,X1],[H,Z]|T]) :- H >= X, !.
  7. insert([X,X1],[[H,Z]|T],[[H,Z]|W]) :- H < X, insert([X,X1],T,W).
  8.  
  9. inssort([],[]).
  10. inssort([H|T],W) :- inssort(T,W1), insert(H,W1,W), !.
  11.  
  12. clean([],[]).
  13. clean([[_,X1]|T],[X1|T2]) :- clean(T,T2).
  14.  
  15. sortpary(L,W) :- sortpary1(L,W1), inssort(W1,W2), clean(W2,W).
  16. sortpary1([],[]).
  17. sortpary1([H|T],U) :- member(H,T), odleglosc(T,H,X,0), append([X],[H],U1), sortpary1(T,U3), append([U1],U3,U), !.
  18. sortpary1([_|T],U) :- sortpary1(T,U), !.
Add Comment
Please, Sign In to add comment