void tree_read_postorder(_tree_node *n){ if(n!=NULL){ tree_read_preorder(n->left); tree_read_preorder(n->right); fprintf(stdout,"%c",tree_info(n)); } }
tao_tree_info_s * create_bare_tao_tree_info(taoNodeRoot * root) { tao_tree_info_s * tree_info(new tao_tree_info_s()); tree_info->root = root; for (taoDNode * child(root->getDChild()); child != NULL; child = child->getDSibling()) { _recurse_create_bare_tao_tree_info(tree_info, child); } return tree_info; }
END_TEST START_TEST(test_tree_properties) { tree_info_t info; ck_assert_ptr_eq(tree_info(tree, &info), &info); ck_assert_int_eq(info.size, tree_size(tree)); ck_assert_int_le(info.height, info.min_height*2); }
void tree_add_sorted(_tree_node *t,_tree_data *data){ _tree_node *tree,*p,*q; q=t; p=t; while(q!=NULL && data->n != q->data->n){ p = q; if(data->n<tree_info(p)){ q = p->left; }else{ q = p->right; } } if(data->n == p->data->n){ }else if(data->n < tree_info(p)){ list_add_left(p,data); }else{ list_add_right(p,data); } }