我已经使用了计划来获得乐趣,现在我想尝试一些严肃的事情。虽然我看到从头开始实施基本数据结构的教育价值,通过car
和cdr
以及递归,我想找到一个"电池包括"基本容器的lib:队列,堆栈,访问第n项等,带有变异。
我如何找到一个?
(我使用旧的PLT计划;如果需要,我可以升级到Racket)
答案 0 :(得分:3)
看一下SRFIs,你会发现很多不错的列表程序和数据结构实现(比如queues)。
此外,Racket包含几个基本数据结构(sets,hash tables等)和丰富的内置list procedures集合,其中许多来自上述SRFI,以及无论如何,您可以在Racket中导入SRFI,以获得额外的电力。
为什么需要突变?当然,你会在SRFI和Racket中找到可变数据结构/列表操作,但这不是在Scheme或Racket中构建程序的惯用方法。