>>289
> > あとaddNode()の中で単純に再帰して戻り値を代入してるけど、
> > それじゃダメダメじゃないカナ。
> > 今のままだと無限ループするし、ちゃんと枝の差し替えをしないと。
> いや、これは大丈夫。要するに、部分木と挿入する要素を受け取って、新しい
> 部分木を返す関数なんだから。

オレも最初はそう思ってた。
rootノードがどうとか最初に逝ってたし。
単純化すれば、
Node* addNode(Node* node, const char* str) {
node->right = makeNode(str);
node->right->left = node;
return node->right;
}
こんな感じだと。

でも130さんが書いたソースを見ると、
strcmp()の値でleftとrightに振り分けようとしてる。
ようはstrcmp()の値を基準にソートした状態を作りたいんではないかと。
でなければ、addNode()を再帰呼び出しする必然性もないし。

オレのうがち過ぎか?
どうよ、>>150さん?