このディレクトリの索引
このディレクトリの索引

%% TECHINIQUES OF PROLOG PROGRAMMING by T. Van Le, ph D.  %%

permutation_sort(L,L1) :-
    permutation(L,L1),
    ordered(L1).

ordered([]).
ordered([X]).
ordered([X,Y|R]) :- X =< Y, ordered([Y,R]).

permutation([],[]).
permutation(L,[H|T]) :-
    select(H,L,R),
    permutation(R,T).

select(H,[H|T],T).
select(X,[H|T],[T|T1]) :- select(X,T,T1).