0

追加、削除、ルックアップ、最大値の検索、および最大値の削除が可能な Haskell の BST が与えられました。データをリスト構造に変換する関数を作成する必要があります。

bstToList:: (BST k v) -> [String]
bstToList EmptyBST = ["hi"]
bstToList (BSTNode k v nl nr) = bstToList nl ++ bstToList nr

そこに EmptyBST = ["hi"] がある理由は、それが何を返しているかを確認するためでした。の入力が与えられたとき

bstToList (bstAdd 1 "Phil" (bstAdd 2 "Ip" EmptyBST))

["hi","hi","hi"] のリストを返します。なぜすべてが空のリストを返すのかはわかりません。bstToList 以外のすべての関数が正しく、適切に機能していると仮定します。どんな助けでも大歓迎です!

4

1 に答える 1