Class Nodeは、BinaryTreeの根幹。いちばん大事なところですね。前のVisual Basic の例だとClass binarytreeを作ってましたが、どうも必須でないようですので、NodeとMainだけでやってみます。
数字だけだと、BinaryTreeに繋げられないので、Change2Nodeで変換します。結果は、rootの値は10で、小さいものは左に繋いでいきます。大きいものは、右に。PrintTreeは小さい順に、出力されます。
元のデータはPythonで書いてあるのですが、なかなかコピペが素直に行きません。インデントが崩れると意味が違ってしまうのが、自分には合わない。素直にVisual Basic のようにガイドしてくれる方が楽です。
insertはこれで完結なのが嬉しいですね。もともとはRPNの利用から、出来ると有ったのですが、それは不明です。キーが同じ値では、駄目ですが、BinaryTree自体がソート済みなのが利点なんでしょうかね。
出力の方法が、3つほどあるらしいので、やってみようかなあ、と思ってます。参考まで、FC2wordpressにコードを貼り付けています。