mirror of
https://github.com/KevinMidboe/linguist.git
synced 2026-01-05 00:45:32 +00:00
13
samples/Prolog/quicksort.pl
Normal file
13
samples/Prolog/quicksort.pl
Normal file
@@ -0,0 +1,13 @@
|
||||
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)
|
||||
).
|
||||
|
||||
quicksort([]) --> [].
|
||||
quicksort([X|Xs]) -->
|
||||
{ partition(Xs, X, Smaller, Bigger) },
|
||||
quicksort(Smaller), [X], quicksort(Bigger).
|
||||
Reference in New Issue
Block a user