Prolog 有一种独特的处理方式,特别是因为实际上每个操作都涉及一种或另一种递归。
每种语言都有的经典示例之一是将整数列表按升序排序。
对随机整数列表进行排序的最佳方法是什么(不使用太多内置谓词,当然,这排除了 sort/2 谓词)?
最佳答案
Roman Barták 的 Prolog Programming 站点给出了 examples of different sort algorithms ,以优化的快速排序结束。
quick_sort2(List,Sorted):-q_sort(List,[],Sorted).
q_sort([],Acc,Acc).
q_sort([H|T],Acc,Sorted):-
pivoting(H,T,L1,L2),
q_sort(L1,Acc,Sorted1),q_sort(L2,[H|Sorted1],Sorted)
关于list - 在 Prolog 中对列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8429479/