int main() { bitree T; create_bitree(&T); pre_order_traverse(T); return 0; }
int main(void){ BiTree *T = NULL; create_bitree(&T); //traverse(T, 0); int d = tree_depth(T); printf("depth:%d\n", d); return 0; }
void create_bitree(bitree *T) { char ch; scanf("%c",&ch); if(ch=='#'){ *T=NULL; }else if(ch=='\n'){ return ; }else{ *T=(bitree)malloc(sizeof(bitnode)); if(!*T){ exit(0); }else{ (*T)->data=ch; create_bitree(&(*T)->lchild); create_bitree(&(*T)->rchild); } } }
int main(int argc, char *argv[]) { bitree root; int arr[20] = { 29, 23, 45, 16, 18, 17, 34, 38, 24, 19, 0 }; root = create_bitree(arr, ARRY_SIZE(arr)); // 构建顺序二叉树遇到 0 结束 printf("/******************************************/\n"); inorder_bitree(root, dump_node); // 中序遍历二叉树 printf("/******************************************/\n"); destroy_bitree(root); // 中序遍历释放内存 return 0; }