Add more Prolog samples

Closes #233
This commit is contained in:
Joshua Peek
2012-08-20 10:48:36 -05:00
parent b8711f8ccf
commit d2de997fcc
6 changed files with 838 additions and 13 deletions

View 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).