Advertisement
Guest User

Untitled

a guest
Mar 26th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. ?- elsort([d,s,a,[r,t,h]],X).
  2. X = [a, d, s, [h, r, t]].
  3.  
  4. ?- elsort([d,s,a,[r,t,h]],X).
  5. X = [a, d, s, [r, t, h]].
  6.  
  7. **elsort([],[]).
  8. elsort([A|B],C):-
  9. elsort(B,D),
  10. elsortx(A,D,C).
  11. elsortx(A,[X|B],[X|C]):-
  12. order(X,A),
  13. !,
  14. elsortx(A,B,C).
  15. elsortx(A,B,[A|B]).
  16. order(A,A2):-
  17. A @< A2.**
  18.  
  19. % Сортировка списков, соджержащих подсписки
  20. sort_nested( [], [] ).
  21.  
  22. sort_nested( [ H | T ], R ) :-
  23. atomic( H ),
  24. sort_nested( T, W ),
  25. insert( H, W, R ).
  26.  
  27. sort_nested( [ X | T ], R ) :-
  28. + atomic( X ),
  29. sort_nested( X, Xs ),
  30. sort_nested( T, W ),
  31. insert( Xs, W, R ).
  32.  
  33. %
  34. insert(X, [], [X]).
  35. insert(X, [H|T], [X|L]):- X @< H, insert(H, T, L).
  36. insert(X, [H|T], [H|L]):- X @>= H, insert(X, T, L).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement