SICP-练习2.17
【问题】
请定义出过程last-pair。它返回仅仅包括给定(非空)表里最后一个元素的表:
(last-pair (list 23 72 149 34))
(34)
【分析】
last-pair须要处理一下三种情况:
- 空表:引发一个错误
 - 单个元素的表:返回这个表本身
 - 多于一个元素的表:继续向列表右边前进
 
【代码】
(define (last-pair lst)
         (cond ((null? lst)
                     (error "list is empty"))
                   ((null? (cdr lst))
                       lst)
                   (else
                       (last-pair (cdr lst)))))
                    
                
                
            
        
浙公网安备 33010602011771号