【问题标题】:Basic libs for scheme (queue)方案(队列)的基本库
【发布时间】:2016-02-19 02:39:06
【问题描述】:

我使用方案是为了好玩,现在我想尝试一些严肃的事情。虽然我通过carcdr 和递归看到了从头开始实现基本数据结构的教育价值,但我想为基本容器找到一个“包含电池”的库:队列、堆栈、访问第 n 项,等等,有突变。

我怎样才能找到一个?

(我使用的是旧的 PLT 方案;如果需要,我可以升级到 Racket)

【问题讨论】:

  • 升级到 Racket 可能会有所帮助。 Racket 是它自己的语言,并且在其包目录中拥有自己的用户贡献的库:pkgs.racket-lang.org 大量可用的数据结构。我也确实投票关闭,因为这在技术上对 SO 来说是题外话。我建议在 IRC 上的#racket 或邮件列表中提出此类问题(尽管请先查看软件包列表和文档)。

标签: scheme racket


【解决方案1】:

看看SRFIs,你会发现很多不错的列表过程和数据结构实现(比如queues)。

另外,Racket 包括几个基本的数据结构(setshash tables 等)和丰富的内置list procedures 集合,很多都是从上面提到的 SRFI 中借用的,无论如何你可以在球拍,提供额外的力量。

为什么需要突变?当然,您会在 SRFI 和 Racket 中找到可变数据结构/列表操作,但这不是在 Scheme 或 Racket 中构建程序的惯用方式。

【讨论】:

  • 谢谢。为什么要突变?尽管所有程序都可以正常工作,但我需要一个需要更改的全局队列,我不想将其传递给每个程序。
  • 在较新的 Rackets 中还可以看到 data 集合,包括 an imperative queue
猜你喜欢
  • 1970-01-01
  • 2012-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多