0
私はクラスのOCamlを学んでおり、バイナリツリーのミラーイメージを計算する割り当てが与えられました。私はかなりこだわっているとさえ開始するかどうかはわからない...OCamlバイナリツリーミラーイメージ
type btree = Empty | Node of int * btree * btree
;;
let mirror : btree -> btree
= fun t -> (* Code *)
サンプル入力:
let tree1 = Node(1, Node(2, Node(3, Empty, Empty), Empty), Node(4, Empty, Empty))
;;
出力例:
mirror tree1 = Node(1, Node(4, Empty, Empty), Node(2, Empty, Node(3, Empty, Empty)))
;;
https://meta.stackoverflow.com/questions/334822/how-do-i-ask-and-answer-homework-questions簡単な何かを始める – gallais
:コード何ができますかノード(1、空、空)をミラーリングするには?ノード(1、ノード(2、空、空)、空)?それから一般化する(以下のジンの答えを参照)。あなたの試練を投稿する - あなたは助けを受けるチャンスが増えるだろう。 –
通常、MLではパターンマッチングを使用しますが、あなた(またはあなたのインストラクター)が[s-expressions](https://en.wikipedia.org/wiki/Cons)に似たサンプルを提供しているのは面白いです。 – PieOhPah