09/07/07 18:11:42
>>388
% Prolog
t388 :-
get_line(Line),
atom_chars(Line,Chars),
バブルソート(Chars,_整列した文字ならび),
atom_chars(Line2,_整列した文字ならび),
write_formatted('%t\n',[Line2]).
バブルソート(L,X) :-
整順が崩れるまで(L,L2),
バブルソート(L2,X),!.
バブルソート(L,L).
整順が崩れるまで([A],[A]) :- !,fail.
整順が崩れるまで([A,B|R1],[A|R2]) :-
A @=< B,
整順が崩れるまで([B|R1],R2).
整順が崩れるまで([A,B|R1],[B,A|R1]) :-
A @> B.