>>321
すべてのノードについて、左の子以下の数は、自分の数よりも小さく、
右の子以下の数は、自分の数よりも大きくなる

これは普通の2分探索木で、
C++ のSTL にある、map・set というコンテナだろ

でも皆、再帰を使って実装しているのでは?
再帰を使わない方法は、思いつかない