Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,4 @@
|
|||
qsort([]) = [].
|
||||
qsort([H|T]) = qsort([E : E in T, E =< H])
|
||||
++ [H] ++
|
||||
qsort([E : E in T, E > H]).
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
qsort( [], [] ).
|
||||
qsort( [H|U], S ) :-
|
||||
splitBy(H, U, L, R),
|
||||
qsort(L, SL),
|
||||
qsort(R, SR),
|
||||
append(SL, [H|SR], S).
|
||||
|
||||
% splitBy( H, U, LS, RS )
|
||||
% True if LS = { L in U | L <= H }; RS = { R in U | R > H }
|
||||
splitBy( _, [], [], []).
|
||||
splitBy( H, [U|T], [U|LS], RS ) :- U =< H, splitBy(H, T, LS, RS).
|
||||
splitBy( H, [U|T], LS, [U|RS] ) :- U > H, splitBy(H, T, LS, RS).
|
||||
Loading…
Add table
Add a link
Reference in a new issue