all tasks
This commit is contained in:
parent
b83f433714
commit
68f8f3e56b
14735 changed files with 178959 additions and 0 deletions
|
|
@ -0,0 +1,17 @@
|
|||
quicksort(List, Sorted) :-
|
||||
quicksort(List, [], Sorted).
|
||||
|
||||
quicksort([], Sorted, Sorted).
|
||||
quicksort([Pivot| Rest], Acc, Sorted) :-
|
||||
partition(Rest, Pivot, Smaller0, Bigger0),
|
||||
quicksort(Smaller0, [Pivot| Bigger], Sorted),
|
||||
quicksort(Bigger0, Acc, Bigger).
|
||||
|
||||
partition([], _, [], []).
|
||||
partition([X| Xs], Pivot, Smalls, Bigs) :-
|
||||
( X @< Pivot ->
|
||||
Smalls = [X| Rest],
|
||||
partition(Xs, Pivot, Rest, Bigs)
|
||||
; Bigs = [X| Rest],
|
||||
partition(Xs, Pivot, Smalls, Rest)
|
||||
).
|
||||
Loading…
Add table
Add a link
Reference in a new issue