示例#1
0
int main()
{
    bitree T;
    create_bitree(&T);
    pre_order_traverse(T);
    return 0;
}
示例#2
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;
}
示例#3
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);
        }
    }
}
示例#4
0
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;
}