Ejemplo n.º 1
0
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));
    }
}
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
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);
}
Ejemplo n.º 4
0
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);
    }
}