>>830さん
ありがとうございました。
ただ、問題文には書いていなかったのですが、
外点を表示させなければいけないとのことでした。

外点を表示する関数を残して、insert関数内の(*cur)->parent = root;の下に
これを書き加えたところ、表示が崩れてしまいました。
(*cur)->left = out();
(*cur)->right = out();

末端だけ外点を加えるのは難しいと思いますので、全てのノードに外点を
持たせた状態で外点をエレメントで上書きするように挿入できればと考えたのですが、
現時点では、0が残ったまま、次のエレメントが0の下位ノードとして混在している状態です。

そういった場合ではどのような書き方をすれば良いのでしょうか?
申し訳ありませんが、ご教示願います。