首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Scheme中查找列表的最大值和最小值

在 Scheme 中查找列表的最大值和最小值,您可以通过以下方式实现:

  1. 使用 maxmin 函数查找列表的最大值和最小值
代码语言:scheme
复制
(max (list x y z) (min (list x y z)))
  1. 使用 carcdr 函数遍历列表以查找最大值和最小值
代码语言:scheme
复制
(define (find-max-min list)
  (if (null? list)
      'error
      (let ((max-value (car list))
            (min-value (car (cdr list))))
        (if (not (null? (cdr list)))
            (find-max-min (cdr list))
            (set! max-value (cdr list))
            (set! min-value (cdr (cdr list))))
        (if (not (null? max-value))
            (set! min-value (min min-value max-value))
            (set! min-value max-value))
        (list min-value max-value))))
  1. 使用 for 循环遍历列表以查找最大值和最小值
代码语言:scheme
复制
(define (find-max-min list)
  (if (null? list)
      'error
      (let ((max-value (list (car list))))
        (if (not (null? (cdr list)))
            (find-max-min (cdr list))
            (set! max-value (cdr list))))
        (if (not (null? max-value))
            (set! max-value (max (car max-value) (car (cdr max-value))))
            (set! max-value (car list)))
        (list max-value (car list))))

以上三种方法都可以在 Scheme 中查找列表的最大值和最小值。第一种方法使用 maxmin 函数,第二种方法使用 carcdr 函数,第三种方法使用 for 循环。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

4分5秒

python开发视频课程5.6如何求一个序列的最大值和最小值

4分5秒

python开发视频课程5.6如何求一个序列的最大值和最小值

2分35秒

146_尚硅谷_MySQL基础_演示delete和truncate在事务中的区别

1分29秒

在Flask框架中,Response对象的`__bool__`和`__nonzero__`方法被重载

3分0秒

四轴飞行器在ROS、Gazebo和Simulink中的路径跟踪和障碍物规避

2分35秒

146_尚硅谷_MySQL基础_演示delete和truncate在事务中的区别.avi

6分22秒

17-在idea中能够创建mybatis核心配置文件和映射文件的模板

27分24秒

051.尚硅谷_Flink-状态管理(三)_状态在代码中的定义和使用

13分46秒

16.尚硅谷-IDEA-版本控制在IDEA中的配置和使用.avi

13分46秒

16.尚硅谷-IDEA-版本控制在IDEA中的配置和使用.avi

26分9秒

59-尚硅谷-Scala数据结构和算法-二叉树的前序中序后序查找

14分25秒

062_第六章_Flink中的时间和窗口(二)_水位线(三)_水位线在代码中的生成(一)

领券