⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sort_freeze.pl

📁 PRl教学程序 PRl教学程序 PRl教学程序
💻 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 + -