我想用Scheme语言来创建一个高效的特殊列表。例如:
函数名称:
make-list
参数:max
(make-list max) -> (1 2 3 4 5 6 7 ... max)
我可以使用递归方法完成这项任务。
#lang racket
(define (make-list max)
(define lst '())
(define count 1)
(make-list-helper lst max count))
(define (make-list-helper lst max count)
(cond
[(> count max) lst]
[else
(set! lst (append lst (list count)))
(make-list-helper lst max (add1 count)]))
然而,这种方法可以被认为是低的。我不知道如何提高其制作清单的效率。有人可以帮帮我吗?