あれ2024/5/15 1:07:00 Prologだと4行のコードでソート作れるのヤバすぎる。 % 空リストは昇順 ordered([]). % 要素が一つのリストは昇順 ordered([_]). % 先頭2つの要素が昇順 かつ 2番目以降の要素が昇順のリストは昇順 ordered([X, Y|T]) :- X =< Y, ordered([Y|T]). % 全順列のうち、昇順になっているものは、ソートされている mysort(L, L1) :- permutation(L, L1), ordered(L1).