博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SCIP 练习集
阅读量:5290 次
发布时间:2019-06-14

本文共 684 字,大约阅读时间需要 2 分钟。

2.2.7 deep-reverse

(define (next  x)  (cond ((not (pair? x)) x)    ((pair? (car x)) (cons (deep-reverse (car x)) (next (cdr x))))    (else x)))(define (deep-reverse x)  (reverse (next x)))

一开始我想采用一个函数直接搞定的方法

如,这两个都是有错误的,主要问题在于null返回也会被加到list中去,导致最终结果和预期的有偏差

(define (deep-reverse1 x)  (cond    ((pair? x) (cond ((null? (cdr x)) (deep-reverse1 (car x)))             (else (list (deep-reverse1 (cdr x)) (deep-reverse1 (car x))))))    (else x)))(define (deep-reverse2 x)  (cond    ((pair? x) (cond ((null? (cdr x)) (deep-reverse2 (car x)))             (else (cons (deep-reverse2 (cdr x)) (deep-reverse2 (car x))))))    (else x)))

 

转载于:https://www.cnblogs.com/shouchengcheng/p/5004783.html

你可能感兴趣的文章
软件工程基础-结对项目作业
查看>>
C#获取本地txt文件后Json的解析与取值
查看>>
python + selenium 模块封装及参数化
查看>>
清理脚本
查看>>
在普通类中调用service
查看>>
个人技能总结10:微信开发
查看>>
Springboot整合pagehelper分页
查看>>
迅为7寸安卓系统触控一体机提供操作例程【目录】
查看>>
Ice异步程序设计----AMI,AMD
查看>>
windows下安装opencv
查看>>
JavaScript-jQuery报TypeError $(...) is null错误(jQuery失效)解决办法
查看>>
open live writer
查看>>
C语言栈的实现
查看>>
代码为什么需要重构
查看>>
SAP销售模块塑工常见问题和解决方案(自己收藏)
查看>>
事后诸葛亮博客
查看>>
TC SRM 593 DIV1 250
查看>>
SRM 628 DIV2
查看>>
Round Numbers
查看>>
完成评论功能
查看>>