递归方案程序到迭代

时间:2016-10-26 13:45:30

标签: recursion scheme iteration

需要帮助在方案迭代中制作这两个递归程序吗? 我进行了递归,但我坚持为两者创建迭代。

问题1 - 递归

(define mylength
 (lambda (l)
   (cond
   ((null? l) 0)
     (else (+ 1 (mylength (cdr l)))))))

问题1 - 迭代?

问题2 - 递归

(define mylistref
  (lambda (l index)
   (cond
   ((= index 0)(car l))
     (else
       (mylistref (cdr l) (- index 1))))))

问题2 - 迭代?

1 个答案:

答案 0 :(得分:1)

Scheme没有任何循环结构,因此如果您遍历某种数据结构,则唯一的选择是使用递归。 You can read more about it here