Racket中的6个叶节点

问题描述 投票:0回答:1

所以我有下面的代码完美实现(定义myleaf(内部节点'a(叶节点5)(叶节点6)))。这已经定义了

如何实现6叶节点以获取更多数据?

    define-datatype bintree bintree?
  (leaf-node
    (datum number?)
  )
  (interior-node
   (key symbol?)
   (left bintree?)
   (right bintree?)
  )
)
racket
1个回答
0
投票

我假设“6叶节点”表示6-ary树,其中每个非叶节点有6个子节点。

(define-datatype bintree bintree?
     (leaf-node
       (datum number?)
     )
     (interior-node
      (key symbol?)
      (first  bintree?)
      (second bintree?)
      (third  bintree?)
      (fourth bintree?)
      (fifth  bintree?)
      (sixth  bintree?)
     )
   )

define-datatype基本上是这样的:

  • 第一个参数:新数据类型的名称
  • 第二个参数:用于测试某个东西是否是该类型实例的函数的名称
  • next:可存在的所有不同类型的数据类型,其成员的类型

因此,在这种情况下,您只需为您想要的6个孩子中的每一个添加新成员。

© www.soinside.com 2019 - 2024. All rights reserved.