scheme - 在返回列表的函数中获取列表的反向

标签 scheme lisp racket

<分区>

所以我必须反向获取奇数索引下的元素。

我写了一个函数来获取奇数索引元素,但我不确定如何让它们反向返回。

我必须在一个函数中执行此操作,而且它必须是递归的。

最佳答案

您正在做的是获取第一个元素,然后附加结果的其余部分。如果你反过来做,那么你会得到相反的列表。因此,您只需交换 append 的参数即可获得反向列表。

注意:代码的成本为 O(n^2),并且每次递归调用都会消耗堆栈。所以最好让它尾递归,然后你使用的 Scheme 实现优化它不消耗堆栈。

关于scheme - 在返回列表的函数中获取列表的反向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29507185/

相关文章:

scheme - Scheme 中是否有与 Common Lisp 的 *print-circle* 等效的东西?

macros - racket 宏展开时是否可以使用运行时信息?

functional-programming - 方案减少麻烦

lisp - Web 应用程序中的语言同质性有多大优势?

haskell - 表示 MIT 方案中未定义的结果

macos - jedit 中的方案

c - 在 C 中处理 char * 列表?

ubuntu - Racket 在 Google Colab 上挂起

nlp - 如何在此 Racket 代码中使用跟踪?

scheme - Racket 累加器列表功能