10/01/26 10:39:03
>>418
% Prolog (その二) >>438はやはり改行がうまくいかなかった。
平均値からの隔たりによる整列([X|Xs],_平均値,Ys) :-
U is X - _平均値,
平均値からの隔たりにより分割する(Xs,U,Y,_平均値,Littles,Bigs),
平均値からの隔たりによる整列(Littles,_平均値,Ls),
平均値からの隔たりによる整列(Bigs,_平均値,Bs),
append(Ls,[X|Bs],Ys) .
平均値からの隔たりによる整列([],_,[]).
平均値からの隔たりにより分割する([X|Xs],U,Y,_平均値,[[U,X]|Ls],Bs) :-
V is X - _平均値,
V < U,
平均値からの隔たりにより分割する(Xs,U,Y,_平均値,Ls,Bs),!.
平均値からの隔たりにより分割する([X|Xs],U,Y,_平均値,[[U,X]|Ls],Bs) :-
U is X - _平均値,
X < Y,
平均値からの隔たりにより分割する(Xs,U,Y,_平均値,Ls,Bs),!.
平均値からの隔たりにより分割する([X|Xs],U,Y,_平均値,Ls,[[U,X]|Bs]) :-
平均値からの隔たりにより分割する(Xs,U,Y,_平均値,Ls,Bs) .
平均値からの隔たりにより分割する([],Y,_,[],[]).
整列した整数をスペース1つのみあけて1行で出力する([]) :- !.
整列した整数をスペース1つのみあけて1行で出力する([[A,B]]) :- write_formatted('%
t\n',[A]),!.
整列した整数をスペース1つのみあけて1行で出力する([[B,A]|R]) :-
write_formatted('%t ',[A]),
整列した整数をスペース1つのみあけて1行で出力する(R).