gpt4 book ai didi

sorting - 如何在 prolog 中使用 predsort( :Compare, +List, -Sorted) 的示例

转载 作者:行者123 更新时间:2023-12-02 13:46:14 27 4
gpt4 key购买 nike

我想订购一份自定义列表。我想要订购的列表将采用这种形式...

[n(_,2,_),n(_,1,_),n(_,3,_)]  

我写了一个比较器

cheaper(n(_,C1,_),n(_,C2,_)) :-
C1>C2.

如何将其与 predsort 一起使用。我使用冒泡排序编写了一个排序算法,但是我有非常大的列表,所以它非常慢。

可以吗

predsort(cheaper, [n(_,2,_),n(_,1,_),n(_,3,_)] , X).

谢谢:)

最佳答案

试试这个:

cheaper(>, n(_,C1,_),n(_,C2,_)) :-
C1>C2.

cheaper(<, n(_,C1,_),n(_,C2,_)) :-
C1<C2.

cheaper(=, n(_,C1,_),n(_,C2,_)) :-
C1=C2.

请注意 predsort 的工作方式与 sort 类似,没有 double !如果你想保留 double ,请尝试

cheaper(>, n(_,C1,_),n(_,C2,_)) :-
C1>C2.

cheaper(<, n(_,C1,_),n(_,C2,_)) :-
C1=<C2.

关于sorting - 如何在 prolog 中使用 predsort( :Compare, +List, -Sorted) 的示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15442499/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com