1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# coding=utf-8
id = 125
group = 'sorting'
number = 32
visible = True
facts = None
solution = '''\
conc125([], L, L).
conc125([H|T], L2, [H|L]) :-
conc125(T, L2, L).
pivoting125(_, [], [], []).
pivoting125(P, [H|T], [H|S], G) :-
H =< P,
pivoting125(P, T, S, G).
pivoting125(P, [H|T], S, [H|G]) :-
H > P,
pivoting125(P, T, S, G).
quick_sort([], []).
quick_sort([Pivot|T], Sorted) :-
pivoting125(Pivot, T, Smaller, Greater),
quick_sort(Smaller, SortedSmaller),
quick_sort(Greater, SortedGreater),
conc125(SortedSmaller, [Pivot|SortedGreater], Sorted).
'''
|