问题标签 [difference-lists]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
74999 浏览

list - 如何将元素附加到 Prolog 中的列表中?

如果我在 Prolog 中有一个列表,例如 X = [1, 2, 3, 4],如何将元素 5 添加到列表的末尾以使 X = [1, 2, 3, 4, 5]?

append 函数需要两个列表,即 append(A,B,C) 将 A 和 B 连接到列表 C。

我可以使用临时列表 Y = [1, 2, 3, 4] 和 Z = [5] 来执行此操作,然后执行附加(Y,Z,X),但我不喜欢临时列表。

通常的免责声明在这里适用——这不是家庭作业,我只是在学习 Prolog。

0 投票
2 回答
392 浏览

prolog - 在处理列表时,Prolog 中的“-”符号是什么意思?

我正在阅读这个问题的答案,

上面的代码使用语法List-List。我有点理解发生了什么,但我想知道“-”符号/谓词在这里究竟做了什么。另外,这个 SWI 是特定的吗?

0 投票
2 回答
2522 浏览

haskell - 为什么差异列表不是可折叠的实例?

dlist包含DList数据类型,它有很多实例,但没有Foldableor Traversable。在我看来,这是两个最“类似列表”的类型类。是否存在DList不是这些类的实例的性能原因?

此外,该包确实实现了foldrand unfoldr,但没有实现其他折叠功能。

0 投票
1 回答
617 浏览

prolog - Prolog差异列表 - 合并排序

我必须编写谓词,它将一个列表分成两个列表(减半):

这很容易,但现在我必须编写能够进行归并排序的算法——我不知道。该算法必须使用差异列表。

请帮忙。

0 投票
2 回答
150 浏览

prolog - 为什么 prolog 输出一个奇怪的树状列表?

在这个 Prolog 代码中,我打算列出前 N 个素数,

如果我希望列表向后排序,它可以正常工作:

但是,如果我将代码的最后一行从 [P|L] 更改为 [L|P],如下所示:

我得到:

我错过了什么?这让我发疯!

0 投票
2 回答
3098 浏览

prolog - 了解差异列表 (Prolog)

我无法理解差异列表,特别是在这个谓词中:

任何人都可以帮助我了解正在发生的事情吗?

0 投票
3 回答
3542 浏览

prolog - Prolog差异列表

考虑以下程序,一个使用差异列表,另一个不使用:

由于两者都做同样的事情,使用差异列表有什么好处?

0 投票
3 回答
584 浏览

prolog - 结构(差异列表)序言

这个问题参考了本书第 3 章中的材料:Programming in Prolog, Clocksin and Mellish, Ed 5

在本书的第 72 页中,显示了一个使用差异列表的程序:

在网上很多教程中,使用“-”的格式如下,例如:

我的问题是:

  1. 这两种表示有什么区别(使用 - 和不使用它)

  2. 在哪些情况下最好使用它们中的每一个?

谢谢

0 投票
3 回答
217 浏览

recursion - 以递归方式将每隔一个元素移动到列表的后面

我正在寻找一种以特定方式随机播放数字列表的方法。

shuffle([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])应该返回[1, 3, 5, 7, 9, 11, 2, 6, 10, 4, 12, 8]

递归将是这样的:

然后附加结果列表并返回想要的答案。

我当前的代码如下所示。我该如何调整它以使其产生我上面解释的递归类型?模式是shuffle(+,?)

0 投票
1 回答
99 浏览

list - Prolog:列表和差异列表的图形表示

我一直在尝试了解列表和差异列表在图形结构中的外观。我了解像 [a1,a2,a3,..an|[]] 这样的列表的基本结构。

任意列表

但我无法理解差异列表的外观?

例如 [1,2,3,4]-[3,4]