检查列表是否已在Prolog中排序

时间:2019-05-31 21:25:42

标签: prolog

我正在Prolog中编写排序算法,需要查看算法是否正常运行。所以我需要查看列表的前后。例如考虑排列排序

permutation_sort(L,S) :- permutation(L,S), sorted(S).


sorted([]).
sorted([_]).
sorted([X,Y|ZS]) :- X =< Y, sorted([Y|ZS]).

permutation([],[]).
permutation([X|XS],YS) :- permutation(XS,ZS), select(X,YS,ZS).

由于尝试permutation_sort([3,2,1,4],s)时得到的输出是单词false,所以我不知道列表是否已排序/算法是否正确。

我如何才能在末尾看到s的输出?

0 个答案:

没有答案