2分木は,ノードとその接続状態を表すブランチからできている.C言語でこれを表現する
ためには,ノードの中でデータと接続状態を示せばよい.リストを思い出せ,それとほと
んど同じではないか! リストと同じように,ノードをあわす構造体を使えばよい.
typedef struct node_tag{
int value;
struct node_tag *left;
struct node_tag *right;
}node;
このようなノードを使うと,図13のようにツリー構造を表すことができる.
ツリー全体を表すために,ルートを表す構造体
node *root_tree=NULL;
を宣言しておく.もちろん,これはノードを表す構造体のよりも後で宣言する必要がある.
先に宣言すると,
tree_nodeという型がコンパイラーが分からないからである.ま
た,初期値は意味のないポインター(
NULL)を入れておく.最初はルートがないため,
それを表すポインターは意味が無いためである.
プログラムの詳細については,付録を見よ.
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
平成19年7月26日