我目前正在尝试递归地编写一个函数,但我被困在了基本情况下。基本上,我的问题是我不知道如何创建基本情况,因为我不知道如何递归地检查列表的每个元素。如果我使用for循环,它将如下所示 for i in range(len(A)): 其中A是一个列表。我该怎么把它变成递归呢? 编辑:我现在意识到我给出的细节太少了。假设我有一个数字列表,我希望我的输出是正数,所以根据代码,它应该是[5,6,3]。现在我的问题是,我可以很容易地使用for循环来检查列表<
我正在尝试使用递归在链表上执行选择排序,但在通过递归排序函数的每次传递中,我在将链表划分为具有最小值的节点时遇到一些问题。我尝试获取具有最小值的节点,围绕最小值对链表进行分区,将最小值追加到最前面,连接两个分区列表,然后在连接的分区列表上再次执行排序,直到整个链表排序完毕。例如: e -> q w r t // jo
对于函数下封闭的集合,有一种明确的方法可以将二进制递归转换为尾递归,即Fibonacci序列的加法整数:fib :: Int -> Intfib' x y n | otherwise = fib' y (x + y) (n - 1)
这是因为我们有我们想要的值y和操作我想使用一个函数,将一个列表拆分成两个列表,然后<e