1つの#include " stdio.hの" 2の#include " string.hの" 3の#include " malloc.hを" 4の#include " STDLIB.H " 5のtypedef チャーデータ型。 6のtypedef 構造体ツリー{ 7 データ型キー。// 存储的数据 8 のstructツリー*左; // 左孩子 9 のstructツリー*右; // 右孩子 10 }ツリー。 11 int型のカウント= 0; 12れる 空隙 createTree(ツリーT *、INT * COUNT) 13は 、{ 14 データ型CH; 15 IF((CH = GETCHAR())== ' ; ')// タイプ';'木の端部が作成される表す 16 { 17 GETCHAR( ); 18で 返す; 19 } 20である (GETCHAR); 21れる IF!(CH = ' #')// タイプ'#'が空のノードを代表する 22れる { 23である T =(ツリー*)のmalloc(はsizeof(木)); // ノードを作成します 24 T->キー= CH; 25 (* COUNT)++ ; 26 のprintf(" 左ノードデータを入力してください、空気のノード\を入力するなどの'#1 \' \ N- " ) ; 27 createTree(T->左、COUNT); // 左部分木作成 28 (のprintf " など\ N-空気ノード\ '#1 \'を入力すると、右のノードデータを入力してください" ); 29 createTree(T->右、COUNT); // 右サブツリー作成 30 } 31は、 他の 32 { 33は、 T = NULL; 34である } 35 } 36 ボイド firstPrint(ツリー* T)// 先行順出力 37 [ { 38は、 IF(T!= NULL) 39 { 40 のprintf(" %C \ T "、T-> キー) 41がある firstPrint(T-> 左) ; 42は firstPrint(T-> ;右) 43である } 44である } 45 メイン() 46は、 { 47 ツリーT、 48 のprintf(" 例えば\ N-空気ノード\ '#1 \'を入力するように、ルートノードのデータを入力してください" )。 49 createTree(&T、&COUNT)。 50 システム(" CLS " )。 51 firstPrint(&T)。 52 }