【问题标题】:Sort a list in Racket based on the operator根据运算符对 Racket 中的列表进行排序
【发布时间】:2023-01-30 01:41:52
【问题描述】:

如何根据 Racket-Plait 中的运算符对两个列表进行排序和合并? > 升序,< 降序。到目前为止,这是我所拥有的,但我不知道下一步该怎么做。

(define (merge [op : (Number Number -> Boolean)]
               [int-list1 : (Listof Number)]
               [int-list2 : (Listof Number)]) : (Listof Number)
  (cond
    [(equal? op <) "something"]
    [(equal? op >) "do something"])) 

(test (merge < '(1 4 6) '(2 5 8))
      '(1 2 4 5 6 8))

【问题讨论】:

  • 如果这是家庭作业,你能添加确切的说明吗?您的代码的哪些部分包含在说明中(因此解决方案应该包括它们),哪些是您的?
  • 你应该只使用op,而不是根据它是什么做不同的事情。看看(define op &lt;) (op 1 2)(define op &gt;) (op 1 2)

标签: list merge racket plai


【解决方案1】:

查看有关合并排序的视频:

https://www.youtube.com/watch?v=wDTHn9ioUwk

它遵循 HtDP 设计配方。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-08
    • 2012-11-14
    • 1970-01-01
    • 2019-08-28
    • 1970-01-01
    • 2018-02-23
    • 2021-10-09
    相关资源
    最近更新 更多