【发布时间】:2011-07-03 05:27:13
【问题描述】:
大家好,我有一个家庭作业问题一直让我很沮丧!我应该创建一个最小索引,它将采用一个非空列表并返回列表中最小数字的索引。 (car ls) 的索引 = 0,(car (cdr ls)) 的索引 = 1,依此类推。
需要创建一个助手来跟踪当前位置、最小位置、最小值和列表。到目前为止,我有一个显示基本算法的程序(不加载)。但是我很难跟踪所有内容并将其放入 chez 方案代码中。
(define index-helper
(lambda (ls current-position least-position least-value)
(if (> (car ls) least-value)
(add1 (car ls (cdr ls (add1 current-position))))
(car ls (cdr ls (add1 current-position))))))
;trace
;ls: (4231) c-pos: 0 least-value: 5 least-pos: 0
;ls: (231) c-pos: 1 least-value: 4 least-pos: 1
;ls: (31) c-pos 2 least-value: 2 least-pos: 2
;ls: 1 c-pos: 3 l-v: 2 l-pos: 2
;ls '() c-pos: 4 l-v: 1 l-pos: 4
;*least-position = current-position
我已经用谷歌搜索了这个并在 python 中找到了类似的问题,但我不明白代码,因为我是编程新手。 :P 如果有人可以给我一个提示,我真的很感激!
【问题讨论】:
-
用#scheme 询问怎么样?我认为教师不希望他们的作业问题像这样出现在 Google 上。
-
@erjiang:IRC convos 也没有记录吗? ;-)
-
@Yasir:哈哈,是的,但是 SEO 已经这么多了。