- del(E, [E | T], T).
- del(E, [H | T], [H | T1]) :- del(E, T, T1).
- perm([ ], [ ]).
- perm(L, [H | T]) :- del(H, L, L1), perm(L1, T).
- sorted([ ]).
- sorted([ _ ]).
- sorted([X, Y | T]) :- X =< Y, sorted([Y | T]).
- slowsort(L1, L2) :- perm(L1, L2), sorted(L2).
- sortwstaw([],[]).
- sortwstaw([E],[E]).
- sortwstaw([H|T],L):-
- sortwstaw(T,T1),
- insert(H,T1,L).
- insert(E,[],[E]).
- insert(E,[H|T],[E,H|T]):-
- E>=H.
- insert(E,[H|T],[H|T1]):-
- E<H,
- insert(E,T,T1).
- ch([],[]):-!.
- ch([E],[E]).
- ch(L,[Max|T]):-
- max(L,Max,L1),
- ch(L1,T).
- max([E],E,[]):-!.
- max([H|T],H,T):-
- max(T,M,T1),
- H>=M.
- max([H|T],M,[H|T1]):-
- max(T,M,T1),
- H<M.
- q_sort([],[]):-.
- q_sort([E],[E]):-!.
- q_sort([H|T],L):-
- podziel(T,H,T1,T2),
- q_sort(T1,T11),
- q_sort(T2,T22),
- append(T11,[H|T22],L).
- podziel([],E,[],[]):-!.
- podziel([H|T],E,[H|T1], T2):-
- podziel(T,E,T1,T2),
- H>=E.
- podziel([H|T1],E,T1,[H|T2]):-
- podziel(T,E,T1,T2),
- H<E.