方案:检测列表中的重复元素

时间:2010-03-03 18:59:23

标签: list set scheme chez-scheme

R6RS或Chez Scheme v7.9.4是否有库函数来检查列表是否包含重复元素?

或者,要么具有集合的任何内置功能(允许重复元素)?到目前为止,我只能找到一个例子here

问题在于它实际上并不是Chez Scheme库的一部分。虽然我可以编写我自己的版本,但我更倾向于使用一个众所周知,经过测试和维护的库函数 - 特别是考虑到这是一个基本的操作。

所以一个简单的“使用这些内置函数”或“没有内置库实现这个”就足够了。谢谢!

2 个答案:

答案 0 :(得分:4)

SRFI 1 on list processing has a delete-duplicates function(所以你可以使用它并在之后查看长度)并且可能还有其他你可能觉得有用的功能。

答案 1 :(得分:3)

凯尔,

前一段时间我需要使用一些带Chez Scheme的SRFI。转换为Chez Scheme(包括SRFI-1)的一些用于:

http://github.com/dharmatech/chez-srfi

将“chez-srfi”的路径添加到CHEZSCHEMELIBDIRS后,您可以导入SRFI-1:

  

(import(srfi:1))