2016-02-19 25 views
2

我已經使用計劃的樂趣,現在我想嘗試一些嚴肅的事情。雖然我從零開始通過carcdr以及遞歸看到了實現基本數據結構的教育價值,但我希望爲基本容器(隊列,堆棧,訪問第n項等)找到「包含電池」的lib,突變。計劃的基本庫(隊列)

我該如何找到一個?

(我使用的是舊PLT的計劃;如果需要的話,我可以升級到球拍)

+0

它可能有助於升級到球拍。 Racket是它自己的語言,它的軟件包目錄中有自己的用戶貢獻庫:http://pkgs.racket-lang.org/提供了大量的數據結構。此外,我也投票結束,因爲這在技術上與SO無關。我建議在IRC或郵件列表上的#racket上提出這樣的問題(儘管先查看軟件包列表和文檔)。 –

回答

3

SRFIs看看,那裏你會發現很多不錯列表程序和數據結構的實現(比如說,queues)。

此外,球拍包括幾個基本的數據結構(setshash tables等)和內置的list procedures,許多從上述SRFIs借用館藏豐富,而且你也可以在球拍進口SRFIs,額外的動力。

爲什麼要求突變?當然你會在SRFI和Racket中找到可變數據結構/列表操作,但這不是在Scheme或Racket中構建程序的慣用方法。

+0

謝謝。爲什麼要變異雖然所有的程序都是功能性的,但我需要一個需要改變的全局隊列,我不想傳遞給每個程序。 – SRobertJames

+3

在較新的球拍中還可以看到['data'](https://docs.racket-lang.org/data/index.html)集合,包括[強制排隊](https://docs.racket-lang。組織/數據/ Imperative_Queues.html)。 –