Untitled

mail@pastecode.io avatar
unknown
plain_text
7 months ago
1.2 kB
3
Indexable
Never
nalezy(E,[E|T]).
nalezy(E,[H|T]):-nalezy(E,T).

polacz([],L,L).
polacz([H|T],L,[H|T1]):-polacz(T,L,T1).

dlugosc([],0).
dlugosc([H|T],N1):-
dlugosc(T,N),
N1 is N+1.

idl([],0).
idl(L,N):-
idl(L,0,N).
idl([],A,A).
idl([H|T],A,N):-
A1 is A+1,
idl(T,A1,N).

odwroc([],[]).
odwroc([X],[X]).
odwroc([H|T],L):-
odwroc(T,T1),
polacz(T1,[H],L).

iodwroc([],[]).
iodwroc([X],[X]).
iodwroc(L1,L2):-
iodwroc(L1,[],L2).
iodwroc([],A,A).
iodwroc([H|T],A,L2):-
iodwroc(T,[H|A],L2).

ws_sort([],[]).
ws_sort([X],[X]).
ws_sort([H|T],L):-
ws_sort(T,T1),
wstaw(H,T1,L).
wstaw(E,[],[E]).
wstaw(E,[H|T],[E,H|T]):-
E=<H.
wstaw(E,[H|T],[H|T1]):-
E>H,
wstaw(E,T,T1).

wb_sort([],[]).
wb_sort([X],[X]).
wb_sort(L,[Min|T]):-
najmn(L,Min,L1),
wb_sort(L1,T).
najmn([X],X,[]).
najmn([H|T],H,T):-
najmn(T,N,T1),
H=<N.
najmn([H|T],N,[H|T1]):-
najmn(T,N,T1),
N<H.

q_sort([],[]).
q_sort([X],[X]).
q_sort([H|T],L):-
rozdziel(H,T,T1,T2),
q_sort(T1,T11),
q_sort(T2,T22),
polacz(T11,[H|T22],L).
rozdziel(E,[],[],[]).
rozdziel(E,[H|T],[H|T1],T2):-
rozdziel(E,T,T1,T2),
H=<E.
rozdziel(E,[H|T],T1,[H|T2]):-
rozdziel(E,T,T1,T2),
H>E.
Leave a Comment