Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ?- elsort([d,s,a,[r,t,h]],X).
- X = [a, d, s, [h, r, t]].
- ?- elsort([d,s,a,[r,t,h]],X).
- X = [a, d, s, [r, t, h]].
- **elsort([],[]).
- elsort([A|B],C):-
- elsort(B,D),
- elsortx(A,D,C).
- elsortx(A,[X|B],[X|C]):-
- order(X,A),
- !,
- elsortx(A,B,C).
- elsortx(A,B,[A|B]).
- order(A,A2):-
- A @< A2.**
- % Сортировка списков, соджержащих подсписки
- sort_nested( [], [] ).
- sort_nested( [ H | T ], R ) :-
- atomic( H ),
- sort_nested( T, W ),
- insert( H, W, R ).
- sort_nested( [ X | T ], R ) :-
- + atomic( X ),
- sort_nested( X, Xs ),
- sort_nested( T, W ),
- insert( Xs, W, R ).
- %
- insert(X, [], [X]).
- insert(X, [H|T], [X|L]):- X @< H, insert(H, T, L).
- insert(X, [H|T], [H|L]):- X @>= H, insert(X, T, L).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement