如何在Prolog中定义排序(List,Sorted)

时间:2015-10-13 22:26:10

标签: list sorting prolog

如何在Prolog中定义谓词print()? 例如,print("You can get" + str(wrong) + "% back with text corrections") 返回true。 我知道有一个内置的谓词,但我想知道如何定义它。

1 个答案:

答案 0 :(得分:2)

这不是一个答案,而是一些评论太长的建议。

你可能已经意识到这一点,但是,请记住,定义你的排序纯粹是一种练习,目的是学习Prolog语法。如果您确实需要对内容进行排序,则应始终使用库sort

然后," ...但我想知道如何定义它":这是什么意思?这是否意味着您选择了排序算法,但您不确定如何在Prolog中实现它?或者您无法选择多种算法中的一种?或者您不知道存在哪些排序算法?

并提出一个建议:在选择排序算法时,首选一个与单链表一起使用的算法。 Prolog列表与单链表非常相似。

另一个建议是:查看现有代码(作为一个很好地指出的评论者),并查看一个免费的Prolog实现的库代码。例如,可从SWI-Prolog获得here is the full code of a sort。很容易找到,如果你只是花几分钟搜索而不是立即寻求帮助。