Сортировка подсписка в списке
Как сделать так, чтобы сортировался и подсписок.
Нужно:
?- 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.
Заранее спасибо за помощь.
Источник: Stack Overflow на русском