scheme - 方案语言升序
问题描述
我正在尝试用方案语言编写代码。我正在尝试编写一个名为 Order 的函数,如果列表中的整数是递增顺序,它将产生 true,否则产生 false。
例如:
(order? (cons 1 (cons 2 (cons 3 (cons 4 empty)))))
true
(order? (cons 1 (cons 2 (cons 3 (cons 1 empty)))))
false
解决方案
如果您希望通过显式递归来解决此问题,则这些是列表被视为有序的条件:
- 列表为空,或
- 该列表只有一个元素,或
- 它的第一个元素小于第二个元素,并且它的尾部是有序的。
翻译成 Scheme 留作练习
推荐阅读
- python - 将文件的格式化内容保存到Python中的另一个文件
- c# - 如何使用在自己的类中使用的公共嵌套接口?
- javascript - 在 v-for 中迭代 vue 引导模式
- reactjs - 如何在多个钩子中等待多个状态更新?
- node.js - 当其中一个请求花费太多时间时,如何同时响应不同的请求
- extjs - How to set a record Dirty ExtJs 6
- amazon-web-services - 如何使用 ansible 将负载均衡器添加到 aws ecs 服务
- javascript - javascript 类方法定义的最佳实践来计算带有配料的食品价格
- javascript - 担心 EcmaScript 2015 模块中的循环引用
- java - 为什么 JdbcClientTokenServices 不保存刷新令牌?