language: Prolog (swi) (swipl 5.6.64)
date: 112 days 13 hours ago
link:
visibility: public
1
2
3
4
5
6
7
8
9
10
11
12
13
quicksort([], []).
quicksort([Head|Tail], SortedList):-
        split(Head, Tail, Klein, Gross),
        quicksort(Klein, Klein_Sortiert),
        quicksort(Gross, Gross_Sortiert),
        append(Klein_Sortiert, [Head|Gross_Sortiert], SortedList).
 
      split(_, [], [], []).
      split(Pivot, [Head|Tail], [Head|Klein], Gross):-
            Head =< Pivot, !,
            split(Pivot, Tail, Klein, Gross).
      split(Pivot, [Head|Tail], Klein, [Head|Gross]):-
            split(Pivot, Tail, Klein, Gross).