📄 sort_freeze.pl
字号:
go:-
L=[12,2,5,13,6,8,14,4,1,11,9,5,3,15,10],
length(L,N),
functor(Vec,vec,N),
Vec=..[_|SortedL],
statistics(runtime,[Start|_]),
psort(L,SortedL),
statistics(runtime,[End|_]),
write(SortedL),
T is End-Start,
write('execution time is :'),write(T).
psort(X,Y):-sorted(Y),permutation(X,Y).
sorted([X]):-!.
sorted([X,Y|L]):-
freeze(X,freeze(Y,X=<Y)),
sorted([Y|L]).
permutation([],Xs):-Xs=[].
permutation([X|Xs],L):-
L=[Y|Ys],
myselect([X|Xs],Rest,Y),
permutation(Rest,Ys).
myselect([X|Xs],Xs,X).
myselect([Y|Ys],[Y|Zs],X) :- myselect(Ys,Zs,X).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -